1. 程式人生 > >為什麽二叉樹總能中序線索化

為什麽二叉樹總能中序線索化

思想 計算 編程 中序遍歷 發揮 合成 會有 二叉線索樹 整體

為什麽二叉樹為什麽總是可以按照中序遍歷線索化
空指針是夠
但怎麽保證不會有一個有左右孩子的節點不被別人指到
想了想可以用類似於數學歸納法這樣證明:

先討論三種最簡單的情形
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右指針預留

可以看出:
最簡單的結構總能預留出兩個多余的指針,
由以上三種子樹看作一個整體,
以上三種子樹按照以上三種方式組成的樹也總可以預留出兩個多余的指針。
然後任意給定樹總能按照這種方式組合成型。
這種線索化的方式即為中序的二叉線索樹。

感想:數學歸納法真是編程中最重要的思想方法。最利於計算機發揮出計算能力。

為什麽二叉樹總能中序線索化