要對二元搜尋樹(Binary Search Tree, BST)中的資料進行排序,可以執行中序遍歷(In-order Traversal)操作。中序遍歷首先遍歷左子樹,然後訪問根節點,最後遍歷右子樹。當對一個二元搜尋樹進行中序遍歷時,訪問的節點序列將按照鍵值的升序排列。
對於給定的二元搜尋樹:
40
/ \
20 60
/ \ / \
10 30 50 70
執行中序遍歷的步驟如下:
遍歷 40 的左子樹(20)。
遍歷 20 的左子樹(10)。
由於 10 沒有左子樹,訪問 10。
返回並訪問 20。
遍歷 20 的右子樹(30)。
訪問 30。
完成 20 的遍歷。
返回並訪問 40。
遍歷 40 的右子樹(60)。
遍歷 60 的左子樹(50)。
訪問 50。
返回並訪問 60。
遍歷 60 的右子樹(70)。
訪問 70。
完成 60 的遍歷。
因此,中序遍歷的結果是:10, 20, 30, 40, 50, 60, 70。
這個序列就是原始資料的排序結果。中序遍歷是二元搜尋樹進行排序的關鍵操作,因為它按照從小到大的順序訪問所有節點。