【发布时间】:2019-08-10 02:30:43
【问题描述】:
对于二叉树,广度优先搜索遍历(BFS)是否与前序遍历相同?我对这两种不同类型的遍历有点困惑。谁能给我解释一下?此外,预购遍历与深度优先搜索遍历(DFS)相比如何?
非常感谢!
【问题讨论】:
-
感谢您为了其他用户的利益修改我的问题!
标签: binary-tree breadth-first-search tree-traversal preorder
对于二叉树,广度优先搜索遍历(BFS)是否与前序遍历相同?我对这两种不同类型的遍历有点困惑。谁能给我解释一下?此外,预购遍历与深度优先搜索遍历(DFS)相比如何?
非常感谢!
【问题讨论】:
标签: binary-tree breadth-first-search tree-traversal preorder
【讨论】:
不,前序遍历实际上是深度优先搜索 (DFS) 遍历的一种形式。 DFS有三种不同的形式,分别是:
为了证明广度优先搜索 (BFS) 遍历与前序遍历不同我将在下面展示一个反例:
明确二叉树与二叉搜索树不同,即二叉树可以定义为:
二叉树 - 元素最多有 2 个孩子的树称为二叉树。请注意,这里没有提到孩子的顺序。
现在来看反例,采用以下简单的二叉树:
对于前序遍历,节点按以下顺序访问: 预购: [1,2,4,3]
现在对于广度优先搜索遍历,节点按以下顺序访问:
BFS: [1,2,3,4]
注意:前序遍历不同于BFS遍历。
有关不同树遍历的更多信息,请查看link
希望对您有所帮助!
【讨论】: