编程教学 线索二叉树.ppt

编程教学 线索二叉树

3、遍历后序线索二叉树 (1)寻找后序遍历的第一个结点 ①如果二叉树的根有左孩子,则第一个结点是后序遍历左子树的第一个结点(即左子树上最左下方那一个叶子结点)。 左子树 根 右子树 1 2 3 5 6 4 7 8 9 求二叉树后序遍历的第一个结点: 根结点1的左子树上最左下那一个结点5。 大家先序遍历一下看是不是。 0 3、遍历后序线索二叉树 (1)寻找后序遍历的第一个结点 ②如果二叉树的根没有左孩子,但有右孩子,则第一个结点是后序遍历右子树的第一个结点(即右子树上最左下方那一个叶子结点)。 左子树 根 右子树 1 2 3 5 6 4 7 8 9 求二叉树后序遍历的第一个结点: 根结点1的右子树上最左下那一个结点5。 大家先序遍历一下看是不是。 0 3、遍历后序线索二叉树 (1)寻找后序遍历的第一个结点 ③如果二叉树的根没有左孩子,也没有右孩子,则第一个结点是根 左子树 根 右子树 (2)寻找结点p的后继 ①若RTag==1,则rchild指的就是后继; ②若RTag==0(即rchild为指针),且p是其双亲a的左孩子,且右孩子为空,则p的后继是其双亲a。 a p P 左 子树 P 右 子树 a p P 左 子树 P 右 子树 (2)寻找结点p的后继 ③若RTag==0(即rchild为指针),且p是其双亲的左孩子,且右孩子不为空,则p的后继是后序遍历其双亲结点的右子树的第一个结

文档评论(0)

1亿VIP精品文档

相关文档