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

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

先讨论三种最简单的情形
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右指针预留

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

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

扫描二维码关注公众号,回复: 742351 查看本文章

猜你喜欢

转载自www.cnblogs.com/luozhonghao/p/9033190.html