線索二叉樹的建立(認真體會)

2021-09-03 10:56:23 字數 507 閱讀 6258

對於構建線索二叉樹,首先要明確需要把原二叉樹空指標用起來這個思想。用ltag和rtag來標記。

0為指標,1為線索。

對於理解和詳細的體會網上有幾篇部落格已經講解的很好,我就不在這重複造輪子了!

新增鏈結描述

主要是**部分的注釋有所意義

另外這張具有代表意義的圖一定要留著回憶用:

加上線索的二叉樹結構是乙個雙向鍊錶結構,為了便於遍歷線索二叉樹,我們為其新增乙個頭結點,頭結點左孩子指向原二叉樹的根結點,右孩子指標指向中序遍歷的最後乙個結點。同時,將第乙個結點左孩子指標指向頭結點,最後乙個結點的右孩子指標指向頭結點。

另外最有用的是我電腦裡面線索二叉樹的**再c盤文件檔案夾下面

(C )二叉樹的線索化 線索二叉樹

線索化標誌tag enum pointertag 結點結構 template struct binarytreenodethd 基類迭代器 template struct binarytreeiterator t operator t operator bool operator const sel...

線索二叉樹

當用二叉鍊錶作為二叉樹的儲存結構時,因為每個結點中只有指向其左 右兒子結點的指標,所以從任一結點出發只能直接找到該結點的左 右兒子。在一般情況下靠它無法直接找到該結點在某種遍歷序下的前驅和後繼結點。如果在每個結點中增加指向其前驅和後繼結點的指標,將降低儲存空間的效率。我們可以證明 在n個結點的二叉鍊...

線索二叉樹

1.線索二叉樹結構和操作定義 threadbintree.h 功能 線索標誌域所有值 typedef enumnodeflag 功能 線索二叉樹結構體 typedef struct threadtreethreadbintree 前驅節點指標 threadbintree previous null ...