关于对中序二叉树线索化的理解

中序二叉树线索化的理解

Pre

1.首先,对于中序二叉树来说,有着这样一个规律,其最先访问的节点一定是树中最左边的节点,最后访问的节点一定是最右边的节点。因为中序遍历是先左节点,再中节点,在右节点,所以整棵树的第一个节点必将是往左子树中找,左子树第一个节点仍然在其左子树中,如此循环,可知整棵树的第一个节点在树的最左边。对于一个已经线索化的中序二叉树节点来说,其左指针要么是指向前驱节点(左指针为线索时),要么指向其左子树,此时前驱可以根据左子树获得,即前驱是左子树的最右节点(左子树最后访问的节点),在访问其右指针时,其右指针是线索时,指向的是其后继其右指针指向的是其右孩子时,后继可以推算出来,时其右子树的最左节点(即最先访问的节点),因此可以由这个规律来进行中序二叉树的递归线索化。
所以,首先,程序要使用递归,又因为其左子树不存在时,左指针应指向其前驱,而前驱又不在其子树中,故不能通过其自身的左右指针查询找到其前驱,所以应该在参数中使用前驱参数,使其直接将空闲的左指针指向前驱参数。

发布了9 篇原创文章 · 获赞 0 · 访问量 13

猜你喜欢

转载自blog.csdn.net/qq_38901685/article/details/102888756