實現鏈式儲存建立,遞迴先序 中序 後序遍歷,葉子結點數,數的結點總數,交換左右子樹
#include #include #include int cnt;
//結點宣告,資料域 左子樹 右子樹
typedef struct binode
binode,*bitree;
//建立二叉樹
/*void init(bitree t)
*/bitree creat_bitree()
return t;
}//先序遍歷
void pre_order(bitree t)
}//中序遍歷
void in_order(bitree t)
}//後序遍歷
void post_order(bitree t)
}//二叉樹葉子總結點數
int num_bitree(bitree t)
return num_bitree(t->lchild)+num_bitree(t->rchild)+1;
}//交換左右子樹
void change_child(bitree t)
}int main()
演算法(四) 二叉樹操作
二叉樹的定義 二叉樹是一種樹形結構 特點是與每個節點關聯的子節點至多有兩個 可為0,1,2 每個節點的子節點有關聯位置關係 定義 二叉樹是節點的有限集合,該集合或為空集,或由乙個根元素和兩棵不相交的二叉樹組成 遞迴定義 二叉樹的兩棵子樹分別稱為它的左子樹和右子樹 二叉樹的5種基本形態 typedef...
二叉樹的基本操作實現
二叉樹需要不斷的自己畫圖並且一步一步的跟著程式走才能明白它的原理 二叉樹結點結構定義 binode,bitree 通過前序遍曆法建立一棵二叉樹,其形參使用結點的二級指標。當每個葉結點的左右孩子是 時表示二叉樹建立完成 void createtree bitree t 釋放二叉樹空間 void des...
二叉樹 四 二叉查詢樹 BST
二叉查詢樹 對於二叉查詢樹的任何乙個節點,設這個節點的值為k,這個節點的左子樹的任意乙個節點的值都小於k,右子樹的任何乙個節點的值都大於等於k。對於任何的二叉查詢樹,使用中序遍歷 左根右 可以將值從小到大列印出來。對於二叉查詢樹的檢索,例如圖a,需要檢索32,那麼首先需要檢索根節點,發現37大於32...