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

用二叉鏈做存儲結構

發布時間: 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-03-03 21:01:35 瀏覽:681
美團一般伺服器搭建什麼位置 發布:2025-03-03 20:59:01 瀏覽:821
安卓手機下載大全在哪裡 發布:2025-03-03 20:54:38 瀏覽:89
安卓智學網學生端的作業在哪裡 發布:2025-03-03 20:53:58 瀏覽:514
c框架源碼下載 發布:2025-03-03 20:39:18 瀏覽:615
java實驗二 發布:2025-03-03 20:38:20 瀏覽:854
原神如何在電腦端切換伺服器 發布:2025-03-03 20:22:53 瀏覽:247
資料庫提取數據 發布:2025-03-03 20:22:49 瀏覽:230
ftp設置只能上傳 發布:2025-03-03 20:22:43 瀏覽:638
如何顯示本機連接的wifi密碼 發布:2025-03-03 20:21:50 瀏覽:68