Data structures 树中的级序遍历

Data structures 树中的级序遍历,data-structures,tree,Data Structures,Tree,与深度顺序遍历(按顺序、前顺序、后顺序)相比,级别顺序遍历的优缺点是什么?我认为您的问题与广度优先搜索与深度优先搜索相同。 我说不出哪个更好。这取决于您的应用程序。这里:,您可以找到这两种方法的一个很好的解释(鉴于级别顺序是指一种特定的宽度搜索)。 两者的利弊各不相同: 如果您希望在图表中找到数据,那么在时间上比BFS更好,因为只有在探索了整个超级层之后,才能传递到下一个深度层。如果您希望在图的底部找到一个节点,那么DFS会更好,原因正好相反 如果图/树很大,并且特别大(每个级别都有很多子节点

与深度顺序遍历(按顺序、前顺序、后顺序)相比,级别顺序遍历的优缺点是什么?

我认为您的问题与广度优先搜索与深度优先搜索相同。 我说不出哪个更好。这取决于您的应用程序。

这里:,您可以找到这两种方法的一个很好的解释(鉴于级别顺序是指一种特定的宽度搜索)。 两者的利弊各不相同:

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

您的应用程序是什么,树遍历方法通常用于特定的应用程序。您可能希望从wikipedia页面开始。这看起来像一条评论。非应答级顺序遍历和深度顺序遍历具有相同的时间复杂度和空间复杂度。