從資料儲存來看,
陣列儲存方式和
樹的儲存方式可以相互轉換,即陣列可以轉換成樹,樹也可以轉換成陣列。
順序儲存二叉樹特點
(1)順序二叉樹通常只考慮完全二叉樹
(2)第n
個元素的左子節點為
2 * n + 1
(3)第n
個元素的右子節點為
2 * n + 2
(4)第n
個元素的父節點為
(n-1) / 2
(5)n : 表示二叉樹中的第幾個元素(按0
開始編號)
例子:給定陣列
,使用樹的遍歷方式遍歷陣列
public static void main(string args) ;seqstoretree seqstoretree=new seqstoretree(arr);
seqstoretree.preprint(0);//1,2,4,5,3,6,7
seqstoretree.midprint(0);//4,2,5,1,6,3,7
seqstoretree.postprint(0);//4,5,2,6,7,3,1
}static class seqstoretree
//前序遍歷
public void preprint(int index)
system.out.println(arr[index]);
//遞迴遍歷左節點
if(2*index+1//遞迴遍歷右節點
if(2*index+2}
//中序遍歷
public void midprint(int index)
//遞迴遍歷左節點
if(2*index+1system.out.println(arr[index]);
//遞迴遍歷右節點
if(2*index+2}
//後序遍歷
public void postprint(int index)
//遍歷左節點
if(2*index+1//遍歷右節點
if(2*index+2system.out.println(arr[index]);
}}
樹結構 二叉樹
二叉樹 如果書中的每個節點最多只有兩個子節點,這樣的樹就叫做二叉樹 1.二叉樹的重要特性 二叉樹第 i 層的最大節點數為 2 i 1 i 1 深度為 k 的二叉樹最大節點總數為 2 k 1 對於任何乙個非空二叉樹t,若n0表示葉節點的個數,n2為度為2的非空葉節點個數,那麼兩者滿足 n0 n2 1 ...
熟悉樹結構 二叉樹
2.二叉樹的性質 3.二叉樹的儲存結構 二叉樹是一種典型的樹形結構 二叉樹的特點是每個結點至多有兩棵子樹,即二叉樹的度 是2,並且二叉樹的子樹有左右之分,不可任意顛倒次序 結點個數為0的二叉樹 一棵深度為k,且有2 k 1個結點的二叉樹,稱為滿二叉樹。特點是每一層上的結點數都是最大結點數。在一棵二叉...
二叉樹的順序儲存結構
此結構是將二叉樹的所有結點,按照一定的次序,儲存到一片連續的儲存單元中。因此,必須將結點排成乙個適當的線性序列,使得結點在這個序列中的相應位置能反映出結點之間的邏輯關係。這種結構特別適用於近似滿二叉樹。在一棵具有n個結點的近似滿二叉樹中,我們從樹根起,自上層到下層,逐層從左到右給所有結點編號,就能得...