標籤(空格分隔): 計算葉子節點個數
##某棵完全二叉樹上有698個節點,則該二叉樹的葉子節點數是多少?
###注:完全二叉樹是效率很高的資料結構,完全二叉樹是由滿二叉樹而引出來的。對於深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時稱之為完全二叉樹。
完全二叉樹是指這樣的二叉樹:
1、除最後一層外,每一層上的結點數均達到最大值;
2、在最後一層上只缺少右邊的若干結點。更確切地說,如果一棵具有n 個結點的深度為k的二叉樹,它的每乙個結點都與深度為k的滿二叉樹 中編號為1~n的結點一一對應,這棵二叉樹稱為完全二叉樹。
可以根據公式進行推導,假設n0是度為0的結點總數(即葉子結點數),n1是度為1的結點總數,n2是度為2的結點總數。
由二叉樹的性質可知:n0=n2+1,則n=n0+n1+n2(其中n為完全二叉樹的結點總數),由上述公式把n2消去得:n=2n0+n1-1,由於完全二叉樹中度為1的結點數只有兩種可能0或1,由此得到n0=(n+1)/2或n0=n/2,合併成乙個公式:n0=取整((n+1)/2),就可根據完全二叉樹的結點總數計算出葉子結點數。本題答案:取整n/2 = 349.
貝貝筆試
1、s 市 a,b 共有兩個區,人口比例為 3:5,據歷史統計 a 的犯罪率為 0.01%,b 區為 0.015%,現有一起新案件發生在 s 市,那麼案件發生在 a 區的可能性為:
a、37.5%
b、32.5%
c、28.6%
d、26.1%
[解析]
法一:法二:
這道題首先得了解犯罪率是什麼?犯罪率就是犯罪人數與總人口數的比。
因此可以直接得出公式:
( 3 * 0.01% ) / ( 3 * 0.01% + 5 * 0.015% ) = 28.6%
當然如果不好理解的話,我們可以例項化,比如 b 區假設 5000 人,a 區 3000 人,a 區的犯罪率為 0.01%,那麼 a 區犯罪人數為 30 人,b 區的犯罪率為 0.015% ,那麼 b 區的犯罪人數為 75 人 ,求發生在 a 區的可能性,就是說 a 區的犯罪人數在總犯罪人數的多少,也就是 30/(30+75)=0.2857
2、某程序在執行過程中需要等待從磁碟上讀入資料,此時該程序的狀態是(c)
a.從就緒變為執行
b.從執行變為就緒
c.從執行變為阻塞
d.從阻塞變為就緒
[解析] 就緒狀態指的是程序已經準備好執行,等待cpu排程的狀態。程序在執行過程中需要等待從磁碟上讀入資料,此時該程序進入阻塞狀態,而不是就緒狀態。
3、關於排序演算法的以下說法,錯誤的是______。
a、快速排序的平均時間複雜度為o(nlogn),最壞時間複雜度為o(n2)
b、堆排序的平均時間複雜度為o(nlogn),最壞時間複雜度為o(nlogn)
c、氣泡排序的平均時間複雜度為o(n2),最壞時間複雜度為o(n2)
d、歸併排序的平均時間複雜度為o(nlogn),最壞時間複雜度為o(n2)
詳細解析八大排序演算法:
4、 已知一棵二叉樹,如果先序遍歷的節點順序是:adcefghb,中序遍歷是:cdfeghab,則後序遍歷結果為:(d)
5、初始序列為:1 8 6 2 5 4 7 3 一組數採用堆排序,當建堆(小根堆)完畢時,堆所對應的二叉樹中序遍歷序列為:()
a、8 3 2 5 1 6 4 7
b、3 2 8 5 1 4 6 7
c、3 8 2 5 1 6 7 4
d、8 2 3 5 1 4 7 6
[解析]
堆是具有以下性質的完全二叉樹:每個結點的值都大於或等於其左右孩子結點的值,稱為大頂堆;或者每個結點的值都小於或等於其左右孩子結點的值,稱為小頂堆。
從最後乙個非葉子結點開始(葉結點自然不用調整,第乙個非葉子結點 arr.length/2-1),從左至右,從下至上進行調整。
二叉樹,完全二叉樹,滿二叉樹
二叉樹 是n n 0 個結點的有限集合,它或者是空樹 n 0 或者是由乙個根結點及兩顆互不相交的 分別稱為左子樹和右子樹的二叉樹所組成。滿二叉樹 一顆深度為k且有2 k 1個結點的二叉樹稱為滿二叉樹。說明 除葉子結點外的所有結點均有兩個子結點。所有葉子結點必須在同一層上。完全二叉樹 若設二叉樹的深度...
二叉樹和完全二叉樹
二叉樹規律 假設根節點的高度為0 二叉樹是每個節點至多只有兩個節點的樹 深度為i所在的層至多有 2 i個節點 高度為k的二叉樹至多有2 k 1 1個節點 n0表示度為0的節點,n2表示度為2的節點,存在n0 n2 1 對所有樹有 節點個數 邊數 1 完全二叉樹規律 節點數為n的完全二叉樹,其高度為 ...
完全二叉樹
最近在看資料結構和演算法,這好多天沒碰幾乎全忘,搞乙個看到乙個完全二叉樹都算了半天,網上眾說紛紜啊,我還是以我的理解記錄一下給我做個記憶吧,以我這記憶力指不定以後又忘了。首先幾個概念 理想二叉樹,滿二叉樹,完全二叉樹。1 滿二叉樹 所有節點 除葉子 都有2個子節點,葉子節點都在一層,就是滿了的意思。...