筆試題中有關樹的問題彙總

2021-07-22 09:42:26 字數 1866 閱讀 8887

樹(tree)是一種簡單的非線性結構。所有資料元素之間有明顯的層次特性。

根節點:沒有父節點的節點。

葉子節點:沒有子節點的節點。

節點的度:乙個節點所擁有的後件個數稱為該節點的讀。

樹的度:所有節點中最大的度。

樹的深度:樹的最大層次。

二叉樹是一種每乙個節點最多有兩顆子樹的樹。

估計這一特性,能夠計算二叉樹的某一層,最多有多少個節點

假設,每一層都達到最大值,然後根據如下等比數列求和公式求得。

例題:在二叉樹中共有37個節點,度為1的節點是度為2的節點2倍,求葉子節點個數?

解析:--------度數-----------個數-----------

---------0---------------x+1-----------

---------1---------------2x----------

---------2-----------------x--------

====>x=9;

====>度為0的節點數為10

除了葉子節點,每個節點都有兩個子節點。即k層上有

2^(k-1)個節點,若深度為m,則節點數為2^m-1

完全二叉樹:除了最後一層外,每一層上的節點數,均達到了最大值;在最後一層上只缺少右邊若干個節點。

遍歷順序是根---->左----->右

遍歷結果:abdecf

遍歷順序是左---->根----->右

遍歷結果:dbeafc

遍歷順序是左---->右---->根

遍歷結果:debfca

例題:1.哈夫曼樹中共有99個結點,則該樹中有___個葉子結點;若採用二叉鍊錶作為儲存結構,則該樹中有___個空指標域

解析:huffman 樹只有葉子和度為2的結點,因為n0 = n2 + 1,所以n0 + n0-1= 99,所以n0 = 50,也就是說是50個葉子,用二叉鍊錶儲存時每個葉子有2個空指標域,自然二叉鍊錶確實是有100個空指標域

二叉樹通常採用鏈式儲存結構。每個儲存節點,有兩個指標域,故二叉樹的鏈式儲存結構又被稱為二叉鍊錶。將二叉樹按照相應的遍歷方式遍歷後,採用二叉鍊錶進行儲存。

1. 求二叉樹中的節點個數

2. 求二叉樹的深度

3. 前序遍歷,中序遍歷,後序遍歷

4.分層遍歷二叉樹(按層次從上往下,從左往右)

5. 將二叉查詢樹變為有序的雙向鍊錶

6. 求二叉樹第k層的節點個數

7. 求二叉樹中葉子節點的個數

8. 判斷兩棵二叉樹是否結構相同

9. 判斷二叉樹是不是平衡二叉樹

10. 求二叉樹的映象

11. 求二叉樹中兩個節點的最低公共祖先節點

12. 求二叉樹中節點的最大距離

13. 由前序遍歷序列和中序遍歷序列重建二叉樹

14.判斷二叉樹是不是完全二叉樹

--------------2016-9-10-------------

下列關鍵字序列為堆的是()?

解析:我們所說的堆一般指二叉堆。二叉堆是完全二叉樹或者是近似完全二叉樹。

二叉堆滿足二個特性:

1.父結點的鍵值總是大於或等於(小於或等於)任何乙個子節點的鍵值。

2.每個結點的左子樹和右子樹都是乙個二叉堆(都是最大堆或最小堆)。

它的左右子結點下標分別為2 * i + 1和2 * i + 2

故答案:a

--------------後續會繼續新增-------------

C C 中有關記憶體問題的彙總

型別 32位環境下所佔位元組數 64位環境下所佔位元組數 char11 short int22 int4 4long int48 long long int88 float44 double88 char 44 int 44 特別地,null占用4位元組。其在記憶體中分配的位置圖如下。1 堆 hea...

筆試題中的必勝策略

比如,題目是這樣的 現在有兩堆石子,小今與小條玩遊戲,2個人都足夠聰明,兩個人規定 每次每人只能從其中一堆中取走1個或2個或3個石子,最後將石子全部取完的人勝利.現在兩堆石子的個數為8和9,請問如何安排才能讓小今必勝?答案是 讓小今先取。其實這裡是有規律可循的,可歸結為 取餘制勝 詳解如下 一 取餘...

C語言筆試題中的「坑」

其實這話說的不對,應該說不只是c語言,恐怕是面試題總會有那麼一些坑等著我們踩,今天,就羅列了一些看似簡單,卻很容易中招的面試題 1 以下程式的執行結果為。inlcude define n 2 define m n 1 define num m 1 m 2 main a 5b 6c 8d 9 嘿嘿,當...