我先說一說 每個 節點 那 五個格 的資料 的含義中間拿乙個是儲存資料的。
從左向右 ,第乙個 和 第五個 是指標,具體指向什麼 取決於第二個 和 第四個的值第二個 如果是零,實線表示,則 第乙個指向的是 左孩子
第二個 如果是1,虛線表示,則 第乙個 指向的是 在中序遍歷次序下 ,該節點的前驅(即前乙個),,如果 該節點 自己就是第乙個,沒有前驅,,則為空指標 ,,圖中最左邊 的的c就是這樣
(中序遍歷 是先訪問左孩子,再訪問根,再訪問右孩子,,圖中節點的中根遍歷次序為cbdafhgie)
第四個為0 ,則第五個指向右孩子
第四個為1.則第五個 指向 中序遍歷次序下的後繼,,如本身已經是最後乙個 沒有後繼 ,則為空指標
非空二叉樹中序遍歷(無頭結點的情況)線索化後,第乙個結點無前驅,最後乙個結點無後繼
中序線索二叉樹
就是在中序遍歷的時候加上線索,為了區分線索和孩子,要多加兩個標誌變數ltag,rtag如果標誌為true就表明是線索,如果為false就表示孩子 一般規定是將做指標為空的指標域用來存放直接前驅 將有指標為空的指標域用來存放直接後繼 當然如果不為空的話就不會用來存放前後繼,而是孩子了 意思就是存放前繼...
中序線索二叉樹
對於一顆有n個節點的二叉樹,每個節點有2個指標域,共2n個指標域,使用n 1個指標域,二叉線索樹便是將剩下的n 1個指標域也利用起來。在普通二叉樹中,我們僅知道乙個節點的左右孩子,並不知道它的直接前驅節點和直接後驅節點,若能知道它的前驅節點和後去節,便可以將這個資料結構進行遍歷,可極大的提高效率。二...
線索二叉樹 中序
線索二叉樹的抽象資料型別 1 enum pointertag 2 typedef struct threadnode 3bithrnode,bithrtree threaded binary tree node 建立線索二叉樹 1 void createtree bithrtree a 29 els...