5.2 二叉树的遍历 #166
5.2 二叉树的遍历
#166
Replies: 4 comments 2 replies
func (t *TreeNode[T]) levelOrder() {
var nodes = []*TreeNode[T]{t}
for len(nodes) != 0 {
var tmp = []*TreeNode[T]{}
for _, v := range nodes {
if v != nil {
tmp = append(tmp, v.left, v.right)
fmt.Println(v.data)
}
}
nodes = tmp
}
} |
0 replies
|
二叉树后序遍历的显式栈实现的第18行代码是多余的: |
1 reply
|
那个中序遍历那里的结果好像错了,应该是['H', 'D', 'I', 'B', 'E', 'A', 'J', 'F', 'K', 'C', 'G'],不是H−D−I−B−E−A−F−J−C−K−G |
1 reply
|
有一个小疑问,中序遍历里面的“因此,只有在左子树全部入栈后,当前节点才能出栈并被访问。”,是不是应该改成“因此,只有在左子树全部出栈后,当前节点才能出栈并被访问。”? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
5.2 二叉树的遍历
二叉树的遍历 1. 二叉树的遍历简介 二叉树的遍历:指的是从根节点出发,按照某种次序依次访问二叉树中所有节点,使得每个节点被访问一次且仅被访问一次。 在二叉树的一些实际问题中,经常需要按照一定顺序对二叉树中每个节点逐个进行访问一次,用以查找具有某一特点的节点或者全部节点,然后对这些满足要求的节点进行处理。这里所说的「访问」就是指对该节点进行某种操作...
https://algo.itcharge.cn/05_tree/05_02_binary_tree_traverse/
All reactions