2.6 - Thread Binary Tree

介紹引線二元樹及操作。

1. 介紹

n個節點的二元樹若以Link List表示則會有n+1個指標指向NULL,為了充分利用這些指標,將他們改指向其他節點,則稱為引線二元樹。其中這些指標稱為Thread Pointers。

  • 左引線:若 x->lchild = NULL則改指向中序排序中的前一個節點。

  • 右引線:若 x->rchild = NULL則改指向中序排序中的後一個節點。

節點儲存結構:

[Left Thread] [Lchild] [Data] [Rchild] [Right Thread]

  • Left Thread: True表示Lchild是左引線;False表示Lchild指向左子點

  • Right Thread: True表示Rchild是右引線;False表示Rchild指向左子點

另外增加一個Head不存Data。

圖示:

2. 操作

2.1 找出中序排序中x的下一個節點

2.2 在引線二元樹中插入一個節點(insert a right child)

2.3 在引線二元樹中插入一個節點(insert a left child)

3. 應用

簡化中序追蹤的演算法

Last updated