導航:首頁 > 源碼編譯 > 二叉樹求結點總數演算法

二叉樹求結點總數演算法

發布時間:2023-01-01 11:40:11

1. 求一棵二叉樹的結點總數的演算法

int
GetCount(BTree
T)
{
if(T==NULL)
return
0;
return
1+GetCount(T.left)+GetCount(T.right);
//=====採用後序遍歷求二叉樹的深度、結點數及葉子數的遞歸演算法========
int
TreeDepth(BinTree
T)
{
int
hl,hr,max;
if(T){
hl=TreeDepth(T->lchild);
//求左深度
hr=TreeDepth(T->rchild);
//求右深度
max=hl>hr?
hl:hr;
//取左右深度的最大值
NodeNum=NodeNum+1;
//求結點數
if(hl==0&&hr==0)
leaf=leaf+1;
//若左右深度為0,即為葉子。
return(max+1);
}
else
return(0);
}
}

2. 編一演算法,計算二叉樹所有節點數。

遞歸方法
樹的節點個數=左孩子節點個數+右孩子節點個數+1
樹為空:結點個數為0
int
Treenodes(BiTree
T)

{

int
num1,num2;

if(T==NULL)
//樹為空

return(0);

num1=Treenodes(T->lchild);

num2=Treenodes(T->rchild);

return(num2+num1+1);//左孩子+右孩子節點個數+1

}

3. 求C語言統計一棵二叉樹節點總數的演算法(只要函數)

用遞歸啊,除了葉子節點以外,每個節點都有左子樹和右子樹,只要判斷子節點不為空就用遞歸調用函數統一子樹的節點數,例如
f(t)=f(l)+f(r)+1;
節點總數等於左子樹的節點數+右子樹的節點數+1

4. 二叉樹結點的演算法

一個結點的度是指該結點的子樹個數。
度為1就是指只有1個子樹(左子樹或者右子樹)。
度為2的結點個數=葉結點個數-1=69
該二叉樹的總結點數=70+80+69=219

閱讀全文

與二叉樹求結點總數演算法相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:389
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:993
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:432
pdf快速看圖破解版 瀏覽:295