假設二叉樹以二叉鍊表作為儲存結構,試設計計算二叉樹葉子結

時間 2021-10-24 10:19:47

1樓:刺友互

1、首先要定義兩個類:結點類和二叉樹類。

2、二叉樹類的組成:建立樹的函式、遍歷函式、刪除函式。求結點數函式。

3、採用遞迴的思想,遇到識別符號表示該結點為空,否則開闢空間建立新結點,同時呼叫遞迴開闢左結點和右結點。

4、前序遍歷函式。

5、刪除函式的思路:如果當前結點不為空,採用遞迴訪問左結點和右結點、**當前結點的空間。

6、求結點數函式的思路:如果當前結點為空,返回0、如果當前結點的左右孩子都為空,放回1。

7、求樹高函式的思路:如果當前結點為空,返回0、遞迴訪問左孩子和右孩子、比較左右孩子的高度,返回 較大值+1。

2樓:方鴻暉

typedef struct bitnode bitnode, *bitree;

void countleaf (bitree t, int& count)

else return;

} // countleaf

試以二叉鍊表作儲存結構,編寫演算法統計二叉樹中的葉子結點的個數,要求用中序遍歷的思想實現

3樓:暴天空

很容易寫的,就用乙個先序遍歷來執行,然後當左右子樹都為空的時候i++,然後當遍歷結束的時候輸出i值,就是葉子結點的個數

只給你提供個思路,具體**自己實現

4樓:匿名使用者

int k=0; //葉子節點數

mid(tree t)

最後得到的k即為總的葉子節點數

資料結構試題;設一棵二叉樹以二叉鍊表為儲存結構,試寫一演算法求該二叉樹上度為2的結點個數

5樓:匿名使用者

演算法步驟:

設根節點為 r。

情況1,如果 r 既有左孩子又有右孩子,則返回 1 + 遞迴求左子樹度為2節點個數 + 遞迴求右子樹度為2節點個數。

情況2,如果 r 只有左孩子,則返回 遞迴求左子樹度為2節點個數。

情況3,如果 r 只有右孩子,則返回 遞迴求右子樹度為2節點個數。

情況4,如果 r 既沒有左孩子又沒有右孩子,則返回 0。

二叉樹t採用二叉鍊表作儲存結構,試設計乙個演算法計算二叉樹中度為1的結點數

6樓:匿名使用者

int numofone(binode*p)else if(p->rchild!=null&&p->lchild=null)

return count;

}int num()

假設以二叉鍊表作為二叉樹的儲存結構,試編寫乙個求樹的高度的演算法

7樓:匿名使用者

int length(bitree t)

bitree find(bitree t,elemtype x) //該函式返回給定值的結點的指標

8樓:易xiao萱

#include

using namespace std;

template

struct binode

;template

class bitree

void preorder()

int deepth()

int empty();

private:

binode*root;

binode*creat(binode*bt);

int deepth(binode*bt);

};template

binode*bitree::creat(binode*bt)return bt;

}template

int bitree::empty()

template

int bitree::deepth(binode*bt)//求深度的演算法

}int main()

return 0;}

9樓:_青青子衿

int btnodedepth (btnode *t)}

關於二叉樹,高分!二叉樹!!!

這些函式都挺好編的,只是在建立的時候我是用先序遞迴建的樹,不知道可不可以。二叉樹!二叉樹是否這樣的,如果是,那答案沒問題的,不然傳一張圖上來 二叉樹問題 先解釋為什麼d對,因為二叉樹的二叉鍊表儲存時,鍊表中的每個結點包含兩個指標,分別指向結點的左孩子和右孩子。而樹的鍊表儲存時,鍊表中的結點的兩個指標...

什麼是二叉樹,舉二叉樹的例子,什麼是二叉樹,舉一個二叉樹的例子

二叉樹樹是一種重要的非線性資料結構,直觀地看,它是資料元素 在樹中稱為結點 按分支關係組織起來的結構,很象自然界中的樹那樣。樹結構在客觀世界中廣泛存在,如人類社會的族譜和各種社會組織機構都可用樹形象表示。樹在計算機領域中也得到廣泛應用,如在編譯源程式如下時,可用樹表示源源程式如下的語法結構。又如在資...

r語言如何二叉樹,如何構建二叉樹

define telemtype inttypedef struct bitnodebitnode,bitree 先序建立二叉樹 void createbitree bitree t t data c createbitree t lchild createbitree t rchild 先序遞迴建...