树中的级别顺序遍历

时间:2015-11-11 18:03:46

标签: data-structures tree

Level Order Traversal与深度订单遍历(按顺序,预订,后订购)相比有哪些优缺点?

2 个答案:

答案 0 :(得分:0)

我认为您的问题与广度优先搜索VS深度优先搜索相同。 我不能说哪个更好。这取决于您的申请。

答案 1 :(得分:0)

在这里:Breadth First Vs Depth First,你可以找到两种方法的一个很好的解释(假设按级别顺序你指的是一种特殊的广度搜索)。 两者的利弊是不同的:

  • 如果您希望在图表中找到数据,那么只有在探索了整个超级级别之后,BFS才能更好地传递到下一个深度级别。如果您希望在图表的底部找到一个节点,那么DFS更好,原因相反。
  • 如果图形/树很大,特别是(每个级别有很多子/邻接的节点),BFS实现的队列将需要大量内存,而堆栈内存垂直递归调用应该相当小,所以DFS可能更合适:这里也是真正图的相反。
  • 对于图中的路径,BFS将始终首先返回它遇到的最短路径,而DFS可以首先返回一条不一定是最短的路径。
  • 两者都具有相同的最坏情况时间复杂度(如果所需节点是您遇到的最后一个节点)。