Dfs,Bfs,树遍历中的顺序问题
Dfs,Bfs, Order issues in Tree traversal
我很难理解dfs、bfs和树遍历(二叉树)中的in-order、pre-order和post-order的区别。
我的理解是
dfs 既不是预购的,也不是有序的,也不是 post-order
Bfs 也不是预购、有序或 post-order
但是我在维基百科的 dfs 中看到预购、有序或 post-order 版本,有人知道为什么吗?
https://en.wikipedia.org/wiki/Tree_traversal
这取决于您访问递归函数中节点的顺序。
https://en.wikipedia.org/wiki/Tree_traversal#Depth-first_search.28DFS.29
如果您访问左子树,然后是当前节点,然后是右子树,迭代器将按顺序排列,因为要读取的第一个节点将是最右边的叶子,然后是父节点,然后是父节点右叶等
这些操作的其他安排将导致其他顺序。
我很难理解dfs、bfs和树遍历(二叉树)中的in-order、pre-order和post-order的区别。
我的理解是 dfs 既不是预购的,也不是有序的,也不是 post-order Bfs 也不是预购、有序或 post-order 但是我在维基百科的 dfs 中看到预购、有序或 post-order 版本,有人知道为什么吗? https://en.wikipedia.org/wiki/Tree_traversal
这取决于您访问递归函数中节点的顺序。
https://en.wikipedia.org/wiki/Tree_traversal#Depth-first_search.28DFS.29
如果您访问左子树,然后是当前节点,然后是右子树,迭代器将按顺序排列,因为要读取的第一个节点将是最右边的叶子,然后是父节点,然后是父节点右叶等
这些操作的其他安排将导致其他顺序。