算法基礎知識之樹、二叉樹
阿新 • • 發佈:2017-05-24
image inline cstyle width var mar span mes med
一、樹
把它叫做“樹”是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。在計算機科學中,樹(英語:tree)是一種抽象數據類型(ADT)或是實作這種抽象數據類型的數據結構,用來模擬具有樹狀結構性質的數據集合。樹一般分為兩類:
- 無序樹:樹中任意節點的子節點之間沒有順序關系,這種樹稱為無序樹,也稱為自由樹;
- 有序樹:樹中任意節點的子節點之間有順序關系,這種樹稱為有序樹;
二、二叉樹
在計算機科學中,二叉樹(英語:Binary tree)是每個節點最多只有兩個分支(不存在分支度大於2的節點)的樹結構。通常分支被稱作“左子樹”和“右子樹”。二叉樹的分支具有左右次序,不能顛倒。
二叉樹的第i層至多擁有2^{i-1}}個節點數: 2^0 2 ^1 2^2 ........
深度為k的二叉樹至多總共有個節點數: 1 + 2 + 4 + .... + 2^k =
三、滿二叉樹
二叉樹滿滿當當的,稱為滿二叉樹
四、完全二叉樹
完全二叉樹 滿二叉樹
除了最後一層,都長滿了。而且是最後一層的右方存在空缺。叫做完全二叉樹
算法基礎知識之樹、二叉樹