Sti -baserede træ søgning er en metode til at finde oplysninger inden for en filstruktur eller online. Tree søge metoder kontrollere hver enkelt node og stien til mappen struktur for den ønskede fil eller søgeord. Stien baserede træ søgemetode sker ved hjælp af en logisk metode som alfabetisk eller korteste vej først. Sti -baserede træ søge metoder kan kombineres med andre data søge metoder . Bredde - Første Søg
Bredde - først søgninger begynder at søge på hovedbiblioteket eller anmodet om start- mappe. Algoritmen identificerer de næste noder på træet og identificerer de korteste veje mellem noder . Hvis opløsningen ikke er fundet, bredde -først- søgning scanner grenene under hver af disse noder. Bredde - først søgninger gemmer ikke stien baserede træet søge resultater søgningen er udført. Ifølge " Algoritmer Unplugged " af Berthold Vocking , bredde -først- søgning " er ikke relevant for at søge en labyrint . Man kan ikke bare konstatere et vejkryds på en liste og hoppe til det på efterspørgslen. "
Dybde - Første Søg
Dybde - først søgninger søge stien af et træ som dyb som det går. Når enden af en filial er nået, algoritmen bevæger sig tilbage til den nærmeste barnet node og søger sine børn. " Algoritmer i en nøddeskal " siger " i hjertet af den dybde -først- søgning er en rekursiv dfs_visit ( u ) drift, der besøger en vertex u , som tidligere ikke har været besøgt før . " Efter alle stier i en gren søges den søgealgoritme vender tilbage til toppen af træet struktur og identificerer en anden node for at søge .
GRASP heuristisk
The Greedy randomiseret Adaptive Search Procedure ( GRASP ) heuristisk søgemetode begynder ved at søge tilfældigt for det bedste match . Den heuristiske bygger en liste over sandsynlige søgning kandidater. Den GRASP heuristiske sparer delvise søgninger og deres bane i træstrukturen. Algoritmen søger kandidatlisten iterativt . Den søgemetode spor stien hver gren af mapperne for kandidater er identificeret for at finde det bedste svar til søgestrengen .
Integer Lineær Programmering
Integer Lineær programmering ( ILP ) fusionerer træ og stibaserede søger metoder. Ifølge "The Compiler Design Handbook ", " det giver (begrænset) integration af uopnåelig sti oplysninger, mens (ofte ) er langt billigere end sti tilgange . " Boolean søgninger kan udføres inden for ILP søgninger. Stibaseret tree søgning af sandsynlige kandidater fra Boolsk søgning kan bruges til at identificere de bedste søgeresultater kandidater. Branch og bundne søgninger i ILP skære nonoptimal resultater alt for langt fra det optimale resultat . Branch og skære søgninger i ILP identificere mulige kampe , og tilføje yderligere søgekriterier for at skære de svageste søgeresultater.