程式設計之美 17 求二元樹的度

2021-08-04 23:40:06 字數 772 閱讀 8784

題目:輸入一棵二元樹的根結點,求該樹的深度。 

從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 

例如:輸入二元樹: 

8 / / 

6 10 

// // 

5 7 9 11 

輸出該樹的深度3。 

二元樹的結點定義如下:

struct sbinarytreenode // a node of the binary tree

;

思想:同

[程式設計之美-16]

主要考察還是層序遍歷思想。

**如下:

#include#includeusing namespace std;

struct bstreenode

;int depthofbstree = 0;

void addbstreenode(bstreenode *&pcurrent, int value);

void levelorderbstree(bstreenode *proot);

int main()

if(pcurrent->m_pright != null)

if(pcurrent == last)

}}void addbstreenode(bstreenode *&pcurrent, int value)

else

}

程式設計之美 02 把二元查詢樹變成為排序的雙向鍊錶

題目 輸入一棵二元查詢樹,將該二元查詢樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只調整指標的指向。10 6 14 4 8 12 16 轉換成雙向鍊錶 4 6 8 10 12 14 16。首先我們定義的二元查詢樹節點的資料結構如下 struct bstreenode 主要考察 二叉樹的中序...

求二元查詢樹的映象

題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 610 57 911輸出 8 106 11 9 7 5定義二元查詢樹的結點為 struct bstreenode a node in the ...

求二元查詢樹的映象

程式設計師面試題精選 11 求二元查詢樹的映象 題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 610 5 7911輸出 8 106 1197 5定義二元查詢樹的結點為 struct bst...