網上關於樹的各種名稱各種各樣,平衡搜尋樹、平衡二叉樹、二叉搜尋樹、平衡查詢樹......
看得我頭都大了,特此總結,千萬別被這些近似的名稱搞混了!
我把xx樹前面的字首進行解析
1.【二叉】:binary. 每個節點最多有兩個子樹;
2.【搜尋】:search. 它是一棵空樹;如果不為空,那麼其左子樹節點的值都小於根節點的值;右子樹節點的值都大於根節點的值,並且左右兩個子樹都是一棵搜尋樹,也被叫做查詢,排序;
3.【平衡】:balanced. 它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡樹。
通俗的來講,對一棵搜尋樹(search tree)進行查詢/新增/刪除等動作, 所花的時間與樹的高度h成比例, 並不與樹的容量n成比例。如果可以讓樹維持矮矮胖胖的好身材, 也就是讓h維持在o(lg n)左右, 完成上述工作就很省時間。能夠一直維持好身材, 不因新增刪除而長歪的搜尋樹, 叫做balanced search tree(平衡搜尋樹)。可見平衡樹是在搜尋樹上加了一些限制條件形成的,所以平衡樹肯定是搜尋樹。
以上三和字首排列組合就出現了各種各樣的平衡搜尋樹、平衡二叉樹、二叉搜尋樹、平衡查詢樹......
平衡搜尋樹 = 平衡查詢樹 = 平衡樹
平衡二叉樹 = 平衡二叉搜尋樹
上圖
資料結構之 樹
1.雙親表示法 下標 資料 parentid 2.孩子表示法 data child1 child2 child3 3.雙親孩子表示法 下標 parentid firstchildid secondchildid 節點 下標 next 頁的話next應該是null 4.孩子兄弟表示法 data 第一次...
資料結構之樹
一 樹的基本概念 樹 tree 是元素的集合,樹有多個節點可以儲存元素 二 二叉樹 每個節點最多有兩個子節點的樹稱為二叉樹 常用來做二分查詢 binary search 等 三 b樹 即二叉搜尋樹 binary search tree 是一種特殊形態的二叉樹 1 所有節點最多擁有2個子節點 2 所有...
資料結構之樹
樹是節點的有限集合.度 a的度是3 b的度是2 d的度是2 c的度為0 當前節點的直接分支 葉子 終端節點就是葉子 e f g h c 根 非終端節點就是根 a b d 有序樹 如果e f不可以隨意換順序 就是有序樹 無序樹 如果 e f可以隨意換順序而且不影響邏輯 祖先 對e來說 b,a都是祖先 ...