二叉樹2 刪除節點與求度,高度

2021-08-05 18:33:07 字數 682 閱讀 3386

int delete (btree *tree, int pos, int count)

if (parent

!=null)

else

// 釋放結點

r_delete (tree, current);

return

true;

}

刪除節點,首先也要找到這個節點,這一步與插入節點時 沒有多大的區別,但我們要刪除這個節點,同時也必須要刪除這個節點的「子子孫孫」們,所以我們又要引入遞迴的思想了,由此可見遞迴堪稱「神通廣大」。下面是乙個遞迴的函式:

void r_delete (btree *tree, btreenode* node)

下面是求二叉樹的高度與度:

高度:

int r_height (btreenode *node)

int btree_height (btree *tree)

度:int r_degree (btreenode * node)

return degree;

}int btree_degree (btree *tree)

求高度與度與求樹的高度與度基本思想是差不多的,同樣也都用到了遞迴的思想,難度也不是很大,**也比較好理解。

求二叉樹高度

函式介面定義 int getheight bintree bt 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 要求函式返回給定二叉樹bt的高度值。裁判測試程式樣例 include...

求二叉樹高度

本題要求給定二叉樹的高度。函式介面定義 int getheight bintree bt 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 要求函式返回給定二叉樹bt的高度值。裁判測...

求二叉樹高度

題目來自於pta 函式介面定義 int getheight bintree bt 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 要求函式返回給定二叉樹bt的高度值。裁判測試程式樣...