为什么二叉树总能中序线索化

Posted luozhonghao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么二叉树总能中序线索化相关的知识,希望对你有一定的参考价值。

为什么二叉树为什么总是可以按照中序遍历线索化
空指针是够
但怎么保证不会有一个有左右孩子的节点不被别人指到
想了想可以用类似于数学归纳法这样证明:

先讨论三种最简单的情形
1.

    a
b      c

b左指针预留
b右指针指向a
c左指针指向a
c右指针预留
2.

    a
b    NULL

b左指针预留
b右指针指向
a右指针预留
3.

        a
NULL     c


a左指针预留
c左指针指向a
c右指针预留

可以看出:
最简单的结构总能预留出两个多余的指针,
由以上三种子树看作一个整体,
以上三种子树按照以上三种方式组成的树也总可以预留出两个多余的指针。
然后任意给定树总能按照这种方式组合成型。
这种线索化的方式即为中序的二叉线索树。

 

感想:数学归纳法真是编程中最重要的思想方法。最利于计算机发挥出计算能力。

 

以上是关于为什么二叉树总能中序线索化的主要内容,如果未能解决你的问题,请参考以下文章

中序线索化二叉树

java实现线索化二叉树的前序中序后续的遍历(完整代码)

JAVA递归实现线索化二叉树

线索化二叉树

数据结构1:中序线索化二叉树思考

遍历及线索化二叉树