完全二叉樹的順序儲存結構的性質:
完全二叉樹的順序儲存結構
採用一維陣列,按層序順序依次儲存二叉樹的每乙個結
點。如下圖所示:
一般二叉樹的順序儲存結構
通過虛設部分結點,使其變成相應的完全二叉樹。
如已知某結點的層序編號i,則可求得該結點的雙親結點、左孩子結點和右孩子結點,然後檢測其值是否為虛設的特殊結點$。
**實現順序儲存結構的二叉樹遍歷
public
class
arrbinarytreedemo
;//下標0不儲存資訊
//建立乙個 arrbinarytree
arrbinarytree arrbinarytree =
newarrbinarytree
(arr)
; arrbinarytree.
preorder()
;// 1,2,4,5,3,6,7
arrbinarytree.
postorder(1
);}}
//編寫乙個arraybinarytree, 實現順序儲存二叉樹遍歷
class
arrbinarytree
//過載preorder
public
void
preorder()
//編寫乙個方法,完成順序儲存二叉樹的前序遍歷
/** *
* @param index 陣列的下標
*/public
void
preorder
(int index)
//輸出當前這個元素
system.out.
println
(arr[index]);
//向左遞迴遍歷if(
(index *2)
< arr.length)
//向右遞迴遍歷if(
(index *2+
1)< arr.length)
}//中序遍歷
public
void
infixorder
(int index)
//向左遞迴遍歷if(
(index *2)
< arr.length)
//輸出當前這個元素
system.out.
println
(arr[index]);
//向右遞迴遍歷if(
(index *2+
1)< arr.length)
}//後序遍歷
public
void
postorder
(int index)
//向左遞迴遍歷if(
(index *2)
< arr.length)
//向右遞迴遍歷if(
(index *2+
1)< arr.length)
//輸出當前這個元素
system.out.
println
(arr[index]);
}}
二叉樹的順序儲存結構
此結構是將二叉樹的所有結點,按照一定的次序,儲存到一片連續的儲存單元中。因此,必須將結點排成乙個適當的線性序列,使得結點在這個序列中的相應位置能反映出結點之間的邏輯關係。這種結構特別適用於近似滿二叉樹。在一棵具有n個結點的近似滿二叉樹中,我們從樹根起,自上層到下層,逐層從左到右給所有結點編號,就能得...
二叉樹的順序儲存結構
二叉樹的順序儲存結構 include includeusing namespace std define virnode 0 定義虛擬節點 define max tree size 100 定義儲存空間最大量 typedef char elemtype 定義節點型別 typedef elemtype...
二叉樹的順序儲存結構
新增鏈結描述 上面文章中講述二叉樹的順序儲存結構的 這裡給執行了一下,以及遇到的一些問題,我都在 裡標註了.include includeusing namespace std const int m 100 class bitree int create bt 手動輸入二叉樹各節點的資訊 void...