【发布时间】:2020-10-05 16:00:20
【问题描述】:
只考虑了三种类型的遍历。它们是Inorder,postorder,preorder traversal。为什么不将Level order视为一种类型?
【问题讨论】:
标签: data-structures tree binary-tree traversal
只考虑了三种类型的遍历。它们是Inorder,postorder,preorder traversal。为什么不将Level order视为一种类型?
【问题讨论】:
标签: data-structures tree binary-tree traversal
只考虑3种遍历
忽略此语句缺少来源,在树遍历算法中肯定会考虑更多类型。
它们是中序、后序、前序遍历
这些遍历属于一个特定的遍历族:深度优先族。
为什么不将Level order视为一种类型?
这当然是考虑的。它通常被称为breadth first traversal。参考文章说明:
前序 [...] 类型的遍历称为深度优先遍历。
[...] 中序遍历和后序遍历,就像前序遍历一样,也尝试先深入...
3。广度优先遍历:
深度优先并不是遍历树中元素的唯一方法。另一种方法是逐级遍历它们。
[...] 这种逐级遍历称为广度优先遍历,因为我们在深入之前先探索广度,即给定级别的树的全宽。
广度优先遍历在许多算法中都很重要,尤其是最短路径查找算法。
与深度优先遍历一样,广度优先系列也有变体。例如zigzag。
当树具有加权边缘时,还需要考虑 best-first 搜索。
【讨论】: