预购遍历与深度优先搜索相同吗?


Answers:


10

预遍历是遍历,它访问二叉树中的每个节点

深度优先搜索是一种搜索,它围绕任意图寻找某个节点(在非循环图(又名树)中效果最好)是无关紧要的

仅此一项就足以将它们称为差异名称


1
+1,但我想补充一下,前后遍历只是更一般的DFS策略的特例。
弗兰克(Frank)

1
预定遍历不是仅意味着在子节点之前处理节点吗?它在哪里说节点形成了二叉树,甚至是一棵树?
Kilian Foth 2014年

@KilianFoth我希望带有孩子(而不是邻居)的节点的含义暗示树结构,因为它暗示了节点的层次结构。层次结构的顶部是树的根。但是我可以想象在任何树上,即使不是二叉树,前遍历和后遍历都是有意义的。
年轻的约翰,2015年

1

是的,但是应该是相反的方式:DFS与相似PreOrder
术语PreOrder二进制树和解析器更相关。
它是用来与二叉树的遍历其它订单来比较:InOrderPostOrderPreOrder
拓扑排序类似于后顺序遍历(在访问所有相邻节点后将节点推入堆栈)。


我的想法与此答案相似。更具体地说,预订是DFS父类别的特定实现。预订子遍历严格是先左后右。而对于通用(父)DFS,子级的遍历顺序未定义,可以是任何顺序。
Jerred S.

-1

要遍历Preorder中的二叉树,请执行以下操作

  1. 拜访根
  2. 遍历左子树
  3. 遍历右侧子树

在下图中,预遍历将为1,2,3,6,4,5,7,8,9,10,11,12

在同一张图片中1,2,3,4,5,6,7,8,9,10,11,12将用于DFS

DFS来源:http//datastructuresnotes.blogspot.in/2009/02/binary-tree-traversal-preorder-inorder.html

预购来源:Wiki

DFS


9
这不是二叉树。它是一棵树,但不是二叉树。
Manoj R 2014年

当“ 6”具有子节点时会发生什么?
Marjan Venema 2014年

您是否要DFS或预订?
Zedaiq 2014年

@ManojR从上面提到的来源得到它。
Zedaiq 2014年

该图中的预订单给出相同的答案
Charles Chow
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.