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

二叉樹求結點總數演算法

發布時間: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

閱讀全文

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

熱點內容
單片機串口10v 瀏覽:386
lua文件加密怎麼解除 瀏覽:154
如何查看關閉伺服器埠號 瀏覽:140
python運維平台 瀏覽:604
壓縮包解壓出文件不是文件夾 瀏覽:915
壓縮骨折50天 瀏覽:913
程序員托尼 瀏覽:391
linux查看所有用戶許可權 瀏覽:297
利用單片機生成二維碼 瀏覽:173
html載入php頁面 瀏覽:215
android程序員怎麼提高 瀏覽:740
采購崗位須要程序員嗎 瀏覽:637
線性判別分析演算法 瀏覽:430
解壓折紙教程書 瀏覽:492
應廣單片機代理 瀏覽:515
女白領吃甜食解壓視頻 瀏覽:823
md5加密系統中的應用 瀏覽:909
空調壓縮機線路原理圖 瀏覽:421
雙鑰加密技術有哪些 瀏覽:274
免費的pdf虛擬列印機 瀏覽:803