【數據結構】一起來刷筆試題--05

點擊題目下空白處可查看答案

一、

n個結點的線索二叉樹上含有的線索數?

線索二叉樹中每個節點有兩個指針域。

二叉樹中(除了根節點外)每個節點都有父結點,其與父結點的連線即爲一條邊。若二叉樹有 n 個節點,則有 n-1 條邊,所以這 n-1個 條邊佔掉了 n-1 個指針域。故剩下的 2n-(n-1)=n+1 個指針域(包括空指針)就是線索數。

二、

有一個 100*90 的稀疏矩陣,非 0 元素有 10 個,設每個整型數佔 2 字節,則用三元組表示該矩陣時,求所需的字節數。

將非零元素所在行、列、非零元素的值構成一個三元組(i,j,v) 。

對於該題:

每個非零元素佔 3*2=6 個字節,共 10 個非零元素,需 6*10 = 60 個字節;

此外,還一般要用三個整數來存儲矩陣的行數、列數和總元素個數,又需要 3*2 = 6 個字節;

總共:60 + 6 = 66  個字節。

三、

廣義表 (((a,b,c),d,e,f)) 的長度?

廣義表即我們通常所說的列表(lists)。它放鬆了對錶元素的原子性限制,允許他們有自身結構。

廣義表的長度:去掉一層括號剩下的是幾部分

廣義表的深度:總共含括號的層數

在本題中:

廣義表去掉一層括號後爲 ((a,b,c),d,e,f),所以長度爲 1;總共能去掉 3 層括號,所以深度爲 3 。

四、

深度爲 k 具有 n 個結點的完全二叉樹,求其編號最小的葉結點序號。

最小葉節點可能在最後一層,也可能在倒數第二層,因此 2^(k-2) 並不一定是最小葉節點的序號。因而我們需要從 n 個結點入手。

完全二叉樹中,根節點的序號爲 i,那麼根節點的左節點序號是 2*i,右節點的序號是 2*i+1,已知最後一個節點的序號是 n,因此它的父節點序號是 [n/2],編號最小的葉節點位於該父結點的右邊,因此序號爲 [n/2]+1 。

往期文章:

做習題,學知識---拓撲排序

假期刷刷筆試題--04

做習題,學知識--線索二叉樹

【 數據結構 】刷刷筆試題——03

【數據結構】筆試題_02

【數據結構】筆試題_01

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