为什么级别顺序遍历不被视为遍历类型?

时间:2020-10-05 16:00:20

标签: data-structures tree binary-tree traversal

仅考虑3种遍历类型。它们是Inorder,postorder,preorder遍历。为什么不将Level order视为类型?

1 个答案:

答案 0 :(得分:0)

仅考虑3种遍历类型

忽略此语句缺少源,肯定会在树遍历算法中考虑更多类型。

它们是Inorder,postorder,preorder遍历

这些遍历属于一个特定的遍历族:深度优先族。

为什么不将关卡定单视为类型?

当然可以考虑。它通常被称为breadth first traversal。被引用的文章解释了:

预习遍历类型称为深度优先遍历。

[...]有序遍历和后序遍历,就像预定遍历一样,也尝试首先更深入...

3。广度优先遍历:

深度优先不是遍历树元素的唯一方法。另一种方法是逐级检查它们。

[...]这种逐级遍历称为广度优先遍历,因为我们在深入之前先探索给定级别的树的宽度,即树的整个宽度。

宽度优先遍历在许多算法中都很重要,尤其是最短路径查找算法。

像深度优先遍历一样,宽度优先家族也有一些变体。例如zigzag

当树具有加权边缘时,还需要考虑best-first个搜索。

相关问题