從資料儲存來看,陣列的儲存方式和數的儲存方式可以相互轉換
第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 ...