Depth First Search används ofta när du behöver söka i hela trädet. Det är lättare att implementera (med hjälp av rekursion) än BFS och kräver mindre tillstånd: Medan BFS kräver att du lagrar hela 'gränsen', kräver DFS bara att du lagrar listan över överordnade noder för det aktuella elementet.
När skulle DFS vara bättre än BFS?
BFS är mer lämpligt för att söka i hörn som är närmare den givna källan. DFS är mer lämplig när det finns lösningar borta från källan. 4. BFS överväger alla grannar först och är därför inte lämpliga för beslutsfattande träd som används i spel eller pussel.
Vad kan DFS användas till?
Ansökningar. Djup-först-sökning används i topologisk sortering, schemaläggningsproblem, cykeldetektering i grafer och lösa pussel med bara en lösning, som en labyrint eller ett sudoku-pussel. Andra applikationer involverar att analysera nätverk, till exempel att testa om en graf är tvådelad.
Vilka är fördelarna och nackdelarna med DFS?
Den kommer att nå målnoden på en kortare tidsperiod än BFS om den går på rätt väg. Det kan hitta en lösning utan att undersöka mycket av sökningen eftersom vi kan få den önskade lösningen redan från första gången. Nackdelar: Det är möjligt att tillstånd fortsätter att upprepas.
Vad är fördelen med DFS framför BFS?
Det skulle i princip fortsätta gå längs den första vägen och skulle aldrig hitta elementet. BFS skulle så småningom hittaelement. Om storleken på grafen är ändlig, skulle DFS sannolikt hitta ett extremvärde (större avstånd mellan rot och mål) element snabbare där BFS skulle hitta ett närmare element snabbare.