資料結構(三十二) 二叉樹的順序儲存

2021-10-24 14:44:26 字數 731 閱讀 7449

從資料儲存來看,陣列的儲存方式和數的儲存方式可以相互轉換

第n個元素的左子節點為2*n+1

第n個元素的右子節點為2*n+2

第n個元素的父節點為(n-1)/2

package com.atguigu.tree;

public class arrbinarytreedemo ;

//建立乙個 arrbinarytree

arrbinarytree arrbinarytree = new arrbinarytree(arr);

arrbinarytree.preorder(); // 1,2,4,5,3,6,7

}//編寫乙個arraybinarytree, 實現順序儲存二叉樹遍歷

class arrbinarytree

//過載preorder

public void preorder()

//編寫乙個方法,完成順序儲存二叉樹的前序遍歷

/*** 

* @param index 陣列的下標 

*/public void preorder(int index)

//輸出當前這個元素

system.out.println(arr[index]); 

//向左遞迴遍歷

if((index * 2 + 1) < arr.length)

//向右遞迴遍歷

if((index * 2 + 2) < arr.length) }}

樹和二叉樹 二 二叉樹的順序儲存

順序儲存結構型別定義 define virnode 0 定義虛節點值 define max tree size 100 定義儲存空間最大值 typedef char elemtype 定義節點值型別 typedef elemtype sqbittree max tree size sqbittree...

資料結構 二叉樹 二 二叉樹的性質

滿二叉樹是每層的節點個數都達到了最多的二叉樹,如下圖所示 完全二叉樹是節點的編號順序與滿二叉樹一致,但最後一層的節點可能會在末尾連續得少一些,如下圖所示 從上往下數,第i層上最多有2 i 1 個節點。深度為k得二叉樹至多有2 k 1個節點 對任意一顆二叉樹,其終端節點 葉子節點 數為n0,度為2的節...

資料結構 順序儲存二叉樹

include iostream using namespace std define max node size 100 二叉樹的最大節點數 typedef char sqbitree max node size 1 0號單元節點個數 建立二叉樹 void creat tree sqbitree ...