2015-11-11 2 views
0

Каковы преимущества и недостатки обхода порядка порядка по сравнению с обходом порядка глубины (в порядке, пред-порядке, после заказа)?Обход порядка порядка в дереве

+0

Каково ваше применение, методы обхода дерева обычно используются для конкретных приложений. Возможно, вы захотите начать со страницы wikipedia. – UglyCode

ответ

0

Я думаю, что ваша проблема такая же, как Breadth-First-Search VS Depth-First-Search. Я не мог сказать, что лучше. Это зависит от вашего приложения.

+0

это выглядит как комментарий. не отвечают –

+0

Обход хода по траектории и порядок прохождения по глубине имеют сложность и сложность пространства. – liuniandxx

0

Здесь: Breadth First Vs Depth First, вы можете найти хорошее объяснение двух методов (учитывая, что по порядку уровня вы имеете в виду конкретный вид поиска по ширине). PRO/минусы двух различны:

  • , если вы ожидаете найти данные вполне в графике, чем BFS бы лучше во времени, так как переходит на следующий уровень глубины только после того, как изучили весь супер -уровень. Если вместо этого вы найдете узел, расположенный в нижней части графика, DFS лучше по другой причине.
  • Если граф/дерево огромен, и особенно большой (узлы с большим количеством детей/смежности для каждого уровня), то в очереди, что BFS реализует, потребуется много памяти, в то время как стек памяти вертикального рекурсивного вызова должен быть достаточно малым, поэтому DFS может быть предпочтительным: здесь тоже, наоборот, для действительно узких графов.
  • для путей на графике, BFS всегда будет возвращать сначала самый короткий путь, с которым он сталкивается, тогда как DFS может сначала вернуть путь, который не обязательно является самым коротким.
  • оба имеют сложную временную сложность (если требуемый узел является последним, с которым вы сталкиваетесь).
Смежные вопросы