當前位置:首頁 » 存儲配置 » 用二叉鏈做存儲結構

用二叉鏈做存儲結構

發布時間: 2025-03-03 09:54:05

① 以二叉鏈表為存儲結構,寫出求二叉樹高度和寬度的演算法

樹的高度:對非空二叉樹,其深度等於左子樹的最大深度加1。

Int Depth(BinTree *T){int dep1,dep2;

if(T==Null) return(0);

else{dep1=Depth(T->lchild);

dep2=Depth(T->rchild);

if(dep1>dep2) return(dep1+1);

else return(dep2+1);}

樹的寬度:按層遍歷二叉樹,採用一個隊列q,讓根結點入隊列,最後出隊列,若有左右子樹,則左右子樹根結點入隊列,如此反復,直到隊列為空。

int Width(BinTree *T){intfront=-1,rear=-1;

/*隊列初始化*/int flag=0,count=0,p;

/* pint CountNode (BTNode *t)

//節點總數{int num;if (t == NULL)num = 0;

elsenum = 1 + CountNode (t->lch) + CountNode (t->rch);

return (num);}void CountLeaf (BTNode *t)

//葉子節點總數{if (t != NULL){if (t->lch == NULL && t->rch == NULL)count ++;

// 全局變數CountLeaf (t->lch);CountLeaf (t->rch);}}。

(1)用二叉鏈做存儲結構擴展閱讀

方法:

求二叉樹的高度的演算法基於對二叉樹的三種遍歷,可以用後序遍歷的演算法加上記錄現在的高度和已知的最高的葉子的高度,當找到一個比已知高度還要高的葉子,刷新最高高度。

最後遍歷下來就是樹的高度,至於後序遍歷的演算法,是一本數據結構或者演算法的書中都有介紹和參考代碼

熱點內容
代數式編譯 發布:2025-09-20 16:08:38 瀏覽:19
如何配置6摩爾的醋酸 發布:2025-09-20 15:48:48 瀏覽:711
暴風文件夾 發布:2025-09-20 15:39:31 瀏覽:817
文件夾自動生成exe 發布:2025-09-20 15:11:45 瀏覽:876
水密碼去角質啫喱如何使用 發布:2025-09-20 15:10:38 瀏覽:474
貪吃蛇代碼java 發布:2025-09-20 15:04:45 瀏覽:817
kindle壓縮 發布:2025-09-20 15:01:16 瀏覽:764
新浪java 發布:2025-09-20 14:54:46 瀏覽:708
好前綴演算法 發布:2025-09-20 14:43:43 瀏覽:624
狀態連接地址伺服器失敗 發布:2025-09-20 14:28:24 瀏覽:211