Бихте ли използвали dfs?

Бихте ли използвали dfs?
Бихте ли използвали dfs?
Anonim

Търсене в дълбочина обикновено се използва, когато трябва да търсите в цялото дърво. По-лесно е за внедряване (с помощта на рекурсия), отколкото BFS, и изисква по-малко състояние: Докато BFS изисква да съхранявате цялата „граница“, DFS изисква само да съхранявате списъка с родителски възли на текущия елемент.

Кога DFS би бил по-добър от BFS?

BFS е по-подходящ за търсене на върхове, които са по-близо до дадения източник. DFS е по-подходящ когато има решения далеч от източника. 4. BFS разглежда всички съседи на първо място и следователно не е подходящ за дървета за вземане на решения, използвани в игри или пъзели.

За какво може да се използва DFS?

Приложения. Търсенето в дълбочина се използва при топологично сортиране, проблеми с графика, откриване на цикъл в графики и решаване на пъзели само с едно решение, като лабиринт или пъзел судоку. Други приложения включват анализиране на мрежи, например тестване дали графиката е двустранна.

Какви са предимствата и недостатъците на DFS?

Ще достигне до целевия възел за по-кратък период от време от BFS, ако премине по прав път. Може да намери решение, без да проучва голяма част от търсенето, защото може да получим желаното решение още от първия път. Недостатъци: Възможно е състоянията да продължат да се повтарят.

Какво е предимството на DFS пред BFS?

По същество ще продължи да върви по първия път и никога няма да намери елемента. BFS в крайна сметка ще намериелемент. Ако размерът на графиката е краен, DFS вероятно ще намери по-голям елемент (по-голямо разстояние между корен и цел) по-бързо, където BFS ще намери по-близък елемент по-бързо.

Препоръчано: