[size=large][align=center]二叉樹--結構體[/align][/size]
//****************************************//
//程式名稱:利用結構體建立二叉樹 //
//written by hewei //
//2011 05 30 //
//****************************************//
#include
using namespace std;
#define max 20
//定義儲存二叉樹節點的結構體
struct tree
;//自定義結構體型別
//typedef tree treenode;
//treenode b_tree[max];
tree b_tree[max];
//公共陣列
int nodelist[max];
//--------------------------------------//
//---------建立二叉樹-------------------//
//--------------------------------------//
void create_tree(int nindex)
else //左樹
}if(position == -1) //左樹
b_tree[level].left = i;
else
b_tree[level].right = i;}}
//---------------------------------------//
//-------------儲存輸入元素--------------//
//---------------------------------------//
void store_data(int nindex)
}int main(void)
//儲存輸入的資料
cout <<"please input the capacity : ";
cin >> capacity;
cout << endl;
store_data(capacity);
//建立二叉樹
create_tree(capacity);
//輸出陣列和二叉樹的元素
cout <<"output the content data of nodelist : " << endl;
for(int i= 0; i cout << endl;
cout <<"output the content data of b_tree : " << endl;
cout <<"******************************\n";
for(int i = 1; i<= max; i++)
return 0;
}
平衡二叉樹結構
對二叉樹做深度優先遍歷,遞迴過程中 終止條件 當dfs越過葉子節點時候,返回高度0.返回數值 從低至上,返回每個節點root 為根節點的字數最大高度 左右字數的中最 當我們發現有乙個例子,左右子樹高度差 1的情況時,代表此樹不是平衡二叉樹。當發現不是平衡二叉樹時,後面的高度計算都沒有意義了,因此一路...
樹結構 二叉樹
二叉樹 如果書中的每個節點最多只有兩個子節點,這樣的樹就叫做二叉樹 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個結點的二叉樹,稱為滿二叉樹。特點是每一層上的結點數都是最大結點數。在一棵二叉...