djupetförsttraversering
Djupetförsttraversering, ofta förkortad DFS, är en metod för att systematiskt besöka noder i en graf eller ett träd. Den går så långt som möjligt längs varje gren innan den backar tillbaka till tidigare noder. DFS används för att hitta sammanhängande komponenter, lokalisera vägar eller möjliggöra andra algoritmer som topologisk sortering eller cykeldetektion. Den står i kontrast till bredden-först-traversering (BFS), som utförs i nivåer från startpunkten.
Algoritmen kan implementeras rekursivt eller iterativt. I den rekursiva versionen markeras startnoden som besökt, och för
Tid- och rymdkomplexitet: Tiden är O(V+E) i en graf med V noder och E kanter. Minnesbehoven är
Vanliga användningar inkluderar att hitta sammanhängande komponenter, utföra topologisk sortering, detektera cykler i riktade grafer samt