假設以二叉連結串列作為二叉樹的儲存結構,試編寫求樹的高度的演算法

時間 2021-09-15 00:13:00

1樓:匿名使用者

int length(bitree t)

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

2樓:易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;}

3樓:_青青子衿

int btnodedepth (btnode *t)}

假設以二叉連結串列儲存的二叉數中,每個結點所含資料結構元素均為單字母,試編寫演算法,按樹狀列印二叉樹的算

4樓:匿名使用者

廣度優先遍歷,按層列印應該就行了。

不過考慮到控制檯一行最多列印80個字元,要表現出子結點之間的左右關係,麼根結點要在第40或者41格列印,那麼第二層2個結點的列印空間是39和40個字元寬,考慮39個字元寬的那邊,結點要列印在中間,即第20格,這樣,第三層結點的列印空間是19個字元寬,同理,第四層的列印空間是9個字元寬,第五層是4個字元寬,第六層是1個字元寬。因此,這個程式最多隻能顯示6層的二叉樹。

5樓:墨汁諾

按層列印。

考慮到控制檯一行最多列印80個字元,要表現出子結點之間的左右關係,麼根結點要在第40或者41格列印,第二層2個結點的列印空間是39和40個字元寬,考慮39個字元寬,結點要列印在中間,即第20格,這樣,第三層結點的列印空間是19個字元寬;

同理,第四層的列印空間是9個字元寬,第五層是4個字元寬,第六層是1個字元寬。因此,這個程式最多隻能顯示6層的二叉樹。

中序訪問二叉樹(從右子樹開始,而不是左子樹)的結點,根據結點的深度列印相應的空格,每列印一個字母就換行,當整個二叉樹的中序訪問結束後就列印出樹狀二叉樹了。

二叉樹的遍歷問題,二叉樹的遍歷問題?

程式vs2003成功編譯執行 include stdafx.h include using namespace std typedef struct tree bintree 二叉樹的建立 bintree create char str,intpose,intsize return t void p...

平衡二叉樹是什麼,什麼是平衡二叉樹

八卦氣質 簡單說就是平衡二叉排序樹,也就是首先是二叉排序樹,然後還是平衡的。可以這樣理解 它要麼是一 棵空樹,要麼是它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹 什麼是 理想平衡二叉樹 科科科科少 若二叉樹有h層,上面h 1層都是滿的,第h層的結點不是集中存放在第h層...

什麼是二叉樹的順序儲存,為什麼說二叉樹是非線性儲存結構?不是說二叉樹可以順序儲存和鏈式儲存嗎?感覺順序儲存是線性的呀?怎麼

二叉樹的順序儲存是將二叉樹的所有結點,按照一定的次序,儲存到一片連續的儲存單元中 二叉樹的順序儲存必須將結點排成一個適當的線性序列,使得結點在這個序列中的相應位置能反映出結點之間的邏輯關係。這種結構特別適用於近似滿二叉樹。在一棵具有n個結點的近似滿二叉樹中,當從樹根起,自上層到下層,逐層從左到右給所...