Et dybde -først- søgning er en algoritme, der proceduremæssigt søger en graf eller træstruktur ved at rejse så langt ned i træet som det før kan sikkerhedskopiere . Den tid , at algoritmen tager at afslutte afhænger af antallet af knuder i grafen . I det værst tænkelige scenarie , skal algoritmen besøger hver node i grafen. Træ Grafer
I forbindelse med grafer , et træ er en graf , hvor hver knude undtagen oprindelsen "root" knude har en enlig forælder node , hvis slægt går tilbage til roden node. Grafen danner en struktur, der svarer til et juletræ , gradvis ekspanderende og tilføje nye knudepunkter og børn på hvert niveau . I et træ, er antallet af børn hver node har træets " forgrening faktor. " Antallet af generationer i træet er træets "dybde ".
Dybde -First Search
dybde -først- søgning er en metode til at søge gennem et træ, hvor algoritmen går ned i træet , indtil den finder målet node. Startende fra rodnoden , algoritmen går ned til den næste barn og derefter barnets barnebarn , gentage processen , indtil den finder et barnløst " blad " node . Efter den konstaterer, at node , det går op igen , indtil den finder en ureflekteret node. Hvis der ikke er mere undersøgte knuder , den stopper.
Algoritme tidskompleksitet
tid til at krydse et træ via dybde -først- søgning afhænger af antallet af knuder i grafen og kanter mellem dem. I værste fald skal algoritmen rejse gennem hver vinkelspids og langs hver kant , så den tid, det vil tage, er antallet af knuder og antallet af kanter , eller "V + E" et træ , antallet af kanter er lig med knudepunkterne minus én , så den samlede tid er " 2V - . 1" Hvis hver knude i grafen har det samme antal børn - en konstant forgrening faktor - så denne tid er lig med den faktor . opløftet til potensen af træet dybde
Andre overvejelser
Når gennemføre enhver algoritme , hastigheden af algoritmen afhænger af to faktorer : Antallet af beregninger skal gøre , og den tid der kræves for at få adgang til de nødvendige ressourcer til at køre - som regel hukommelse. Jo mere hukommelse et program kræver , jo længere tager det at løbe. En dybde - først søgning skal huske de tidligere knuder det besøgte, så det værste tilfælde mængden af hukommelse det kræver er lig med antallet af knuder i træet.