請教關於用C 遞迴建立二叉樹的問題

2025-03-15 13:10:06 字數 1598 閱讀 3449

1樓:清澈且謙卑灬典範

#include 慶餘。

#include

using namespace std;

struct bitreenode

char data;

struct bitreenode *rchild,*lchild;

class bitree

public:

void create(struct bitreenode *)

void display();

void bitree::create(struct bitreenode *tnode)

char ch;

cin>>ch;

if(ch=='空格純橡表示空樹。

tnode=null;

elsetnode=(struct bitreenode *)malloc(sizeof(struct bitreenode));

tnode->data=ch;

create(tnode->lchild);

create(tnode->rchild);

cout《譽褲滾<"create complated!"int main()

struct bitreenode *tnode;

bitree bt1;

return 0;

c++資料結構 二叉樹的遍歷 問題見補充

2樓:網友

你這道題有問題,畫不了一顆樹。

c完全二叉樹問題

3樓:網友

最後一層有700-511=189個結點。

所握碧以有帶衫10層蠢皮腔。

葉子結點有189個。

c語言二叉樹的問題

4樓:銷

你應該知道的一點是。

c語言中其實沒有傳址一說,只有傳值。

傳指標也只是把指標的值傳過去,並非傳址。

所以為了構建左右子樹,需要改變左右子樹指標實際的值,而為了改變實際的值。

得傳遞這個指標的位址,這樣才能改掉這個指標的值否則直接傳遞指標,僅傳遞了這個指標的值,沒法改掉指標本身而為了傳遞指標的位址,就得是定義成指向指標的指標了不過有乙個建樹的版本是利用返回值,就沒用到二級指標node*build(int num)

else return 0;

int main()

5樓:

確實不用啊?

**發出來。

c語言 二叉樹問題

6樓:略懂c語言

樓主你這問題是不對的。

根據二叉樹的性質:

1)n0 = n2 + 1,由23個度為2的節點,得到葉子節點為24個,23+24=47,因此該二叉樹沒有度為1的節點。

2)47個節點的二叉樹的深度至少為int(log2(47))+1=6。

根據題意只能得到上面兩個結論。事實上你只要畫乙個滿足上面要求的二叉樹,看看深度是不是必須為6就知道這個問題對不對了。(實際是不對的,你看看是不是少給什麼條件了)

非遞迴中序遍歷二叉樹 要求從鍵盤輸入二叉樹各結點的值,並使用二叉連結串列來儲存二叉樹使用非遞迴演算法遍

void mytree preprintf treenode lpcurnode,typefun lpfun lpcurnode lpcurnode m lpleft if stack.pop lpcurnode lpcurnode lpcurnode m lpright void mytree m...

已經二叉樹有葉子結點,則該二叉樹的總結點至少是

從根結點 n 0 開始,每層的最大結點數是 2 n由2 n 50 n 6 所以該二叉樹最少有6層 根結點算0層,最後一層有50個結點 所以總結點數是 2 0 2 1 2 2 2 3 2 4 2 5 50 113 完全二叉樹的形式總結點最少,2 5 50 2 6 所以子結點分佈在第6 7層,設第六層n...

採用二叉連結串列作為二叉樹的儲存結構,實現如下功能

具有n個結點的二叉樹,採用二叉連結串列儲存,共有 個空 鏈域.這道資料題一共有n 個空鏈域。二叉樹是n個有限元素的集合,該集合或者為空 或者由乙個稱為根的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成,是有序樹。當集合為空時,稱該二叉樹為空二叉樹。在二叉樹中,乙個元素也稱作乙個結點。滿二叉樹 ...