兩道筆試題

1、設一顆完全二叉樹共有699個節點,則這顆樹種葉子節點共有多少個?

首先記n爲二叉樹節點總數,n0 , n1 , n2位二叉樹中度爲0 , 1 , 2的節點數。

則有:n = n0 + n1 + n2;

又因爲二叉樹的規律:n0 = n2 + 1

同時,很顯然,完全二叉樹中n1要麼是0,要麼是1,而且二叉樹中節點數一定爲整數。

可得:n = n0 + 1 + n0 - 1 或者 n = n0 + 0 + n0 - 1 即 n0 = n/2 或者 n0 = (n + 1)/2

從而n0 = 700/2 = 350


關於二叉樹的規律 n0 = n2 + 1的論證:

同樣記 n = n0 + n1 + n2;  (1)

由很顯然的關係,二叉樹中節點數目等於樹枝數目加1,而葉子節點不生成樹枝,一度節點生成一個樹枝,二度節點生成二個樹枝。

從而有:n2 * 2 + n1 = n -1; ==> n = n2 * 2 + n1 + 1; (2) 

由(1) 、 (2) 兩式可得 n0 = n2 + 1;


2、現有一軟件,有A、B兩個程序員共同完成,A、B的代碼貢獻比爲6 : 4, A、B的bug率爲0.1% 和0.15% , 現在這個軟件出現一個bug,請問由A造成的概率爲?

首先這個軟件出現bug的概率爲:P(A) = P(B1) * P(A|B1)  + P(B2) * P(A|B2)  =  6/10 * 0.10% + 4/10 * 0.15% 

而現在要求的問題是P(B1 | A) = P(AB1) / P(A) = P(A|B1) * P(B1) / P(A) = (6/10 * 0.10) / (6/10 * 0.10 + 4/10 * 0.15) = 0.06 / 0.12 = 0.5


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章