求二叉樹中值為x的結點的層號

2021-10-03 22:50:23 字數 1061 閱讀 7977

【問題描述】

以二叉鍊錶為儲存結構,編寫演算法求二叉樹中值為x的結點的層號。

【輸入形式】兩行,第一行是擴充套件二叉樹的前序遍歷序列,第二行是待查詢結點x

【輸出形式】值為x的結點所在層號。根結點所在層記為第1層。

【樣例輸入】ab#d##c##

d【樣例輸出】

3分析:

1.構建二叉樹 結點

2.輸入結點數值

3.遍歷記錄層數

4.判斷 輸出結果

構建二叉樹 結點

template

<

typename datatype>

struct binode

;template

<

typename datatype>

class

bitree

intlevelnum

(datatype x)

private

: binode

*create()

;int

levelnum

(binode

*bt,

int level,datatype x)

; binode

*root;

};

輸入結點數值

template

<

typename datatype>

binode

*bitree

::create()

return bt;

}

遍歷記錄層數

int bitree

::levelnum

(binode

*bt,

int level,datatype x)}}

}

主函式

int

main()

在下是一名小白 如果有不恰當的地方 歡迎指正

求二叉樹中值為x的結點的層號

問題描述 以二叉鍊錶為儲存結構,編寫演算法求二叉樹中值為x的結點的層號。輸入形式 兩行,第一行是擴充套件二叉樹的前序遍歷序列,第二行是待查詢結點x 輸出形式 值為x的結點所在層號。根結點所在層記為第1層。樣例輸入 ab d c d 樣例輸出 3 include using namespace std...

計算二叉樹中值為data的結點所在的層數

定義二叉樹的二叉鍊錶,設其元素為整數。然後編寫函式,計算二叉樹中值為data結點所在的層數。include include define maxsize 20 define treesize 7 typedef char elemtype typedef struct btnode btnode,b...

求二叉樹的雙親結點

思路就是如果當前任乙個孩子結點的值等於k,說明當前節點即為所需結點的雙親結點,通過遞迴實現唯一比較麻煩的是要寫很多條件,不然會報錯。主要功能實現是preorder函式其他是構建和列印二叉樹的函式。include include include using namespace std define t...