第三部分 資料結構
設x是二叉搜尋樹中的乙個結點,則:
1. 若y是x的左子樹中的乙個結點,那麼 y.key <= x.key
2. 若y是x的右子樹中的乙個結點,那麼 y.key >= x.key
中序遍歷:輸出的子樹根的關鍵字位於其左子樹的關鍵字和右子樹的關鍵字值之間
先序遍歷:輸出的根的關鍵字在其左右子樹的關鍵字值之前
後序遍歷:輸出的根的關鍵字在其左右子樹的關鍵字值之後
inorder-tree
-walk(x)
if x != nil
inorder-tree
-walk(x.left)
print x.key
inorder-tree
-walk(x.right)
遞迴版本
tree-search(x, k)
if x == nil or k = x.key
return x
if k < x.key
tree-search(x.left, k)
else
tree-search(x.right, k)
迭代版本
演算法導論筆記 12二叉搜尋樹
1 概念 二叉搜尋樹也叫二叉排序樹,它支援的操作有 search,minimum,maximum,predecessor,successor,insert,delete。所以,一顆二叉搜尋樹既可以作為乙個字典,又可以作為乙個優先佇列。二叉搜尋樹的基本操作時間與這棵樹的高度成正比。二叉搜尋樹的高度可以...
演算法導論筆記 12二叉搜尋樹
1 概念 二叉搜尋樹也叫二叉排序樹,它支援的操作有 search,minimum,maximum,predecessor,successor,insert,delete。所以,一顆二叉搜尋樹既可以作為乙個字典,又可以作為乙個優先佇列。二叉搜尋樹的基本操作時間與這棵樹的高度成正比。二叉搜尋樹的高度可以...
演算法導論 12章 二叉搜尋樹
最壞執行時間 完全二叉樹 o lgn 線性鏈 o n 隨機構造 o lgn 平均時間o lgn 二叉搜尋樹性質 左子樹小於雙親,右子樹大於雙親 二叉搜尋樹的基本操作所花費的時間與這棵樹的高度成正比。遍歷中序遍歷o n 子樹根在左右之間 偽 inorder tree walk x if x nil i...