2020秋冬慕課浙大資料結構期中考試及答案

2021-10-08 14:17:23 字數 3850 閱讀 8936

考試時間1小時

一、判斷題

1-1所謂「迴圈佇列」是指用單向迴圈鍊錶或者迴圈陣列表示的佇列。

(2分)tf

答案:f

1-2在具有n個結點的單鏈表中,訪問結點和增加結點的時間複雜度分別對應為o(1)和o(n)。

(3分)tf

答案:f

1-3如果無向圖g必須進行兩次廣度優先搜尋才能訪問其所有頂點,則g一定有2個連通分量。

(3分)tf

答案:t

1-4演算法分析的兩個主要方面是時間複雜度和空間複雜度的分析。

(2分)tf

答案:t

1-5一棵有124個結點的完全二叉樹,其葉結點個數是確定的。

(3分)tf

答案:t

1-6若一棵平衡二叉樹的所有非葉結點的平衡因子都是0,則其必為完美二叉樹。

(3分)tf

答案:t

1-7若乙個結點是某二叉樹的中序遍歷序列的最後乙個結點,則它必是該樹的前序遍歷序列中的最後乙個結點。

(3分)tf

答案:f

1-8用鄰接表法儲存圖,占用的儲存空間數隻與圖中結點個數有關,而與邊數無關。

(3分)tf

答案:f

1-9通過對堆疊s操作:push(s,1), push(s,2), pop(s), push(s,3), pop(s), pop(s)。輸出的序列為:123。

(3分)tf

答案:f

1-10

在一棵二叉搜尋樹上查詢63,序列39、101、25、80、70、59、63是一種可能的查詢時的結點值比較序列。

(3分)tf

答案:f儲存

二、選擇題

2-1在將資料序列( 6, 1, 5, 9, 8, 4, 7 )建成大根堆時,正確的序列變化過程是:

(4分)

a.6,9,5,1,8,4,7 → 9,6,5,1,8,4,7 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5

b.6,1,7,9,8,4,5 → 6,9,7,1,8,4,5 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5

c.6,9,5,1,8,4,7 → 6,9,7,1,8,4,5 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5

d.6,1,7,9,8,4,5 → 7,1,6,9,8,4,5 → 7,9,6,1,8,4,5 → 9,7,6,1,8,4,5 → 9,8,6,1,7,4,5

答案:b

2-2設一段文字中包含4個物件,其出現次數相應為,則該段文字的哈夫曼編碼比採用等長方式的編碼節省了多少位數?

(4分)

a.0b.5

c.2d.4

答案:c

2-3若某圖的深度優先搜尋序列是,則下列哪個圖不可能對應該序列?

(4分)

答案:a

2-4設一棵非空完全二叉樹 t 的所有葉節點均位於同一層,且每個非葉結點都有 2 個子結點。若 t 有 k 個葉結點,則 t 的結點總數是:

(4分)

a.2k−1

b.2k−1

c.2k

d.k2

答案:a

2-5在並查集問題中,已知集合元素0~8所以對應的父結點編號值分別是(注:−n表示樹根且對應集合大小為n),那麼將元素6和8所在的集合合併(要求必須將小集合並到大集合)後,該集合對應的樹根和父結點編號值分別是多少?

(4分)

a.4和-5

b.8和-5

c.8和-6

d.1和-6

答案:a

2-6迴圈順序佇列中是否可以插入下乙個元素()。

(4分)

a.只與陣列大小有關,與隊首指標和隊尾指標的值無關

b.與曾經進行過多少次插入操作有關

c.與隊頭指標和隊尾指標的值有關

d.只與隊尾指標的值有關,與隊頭指標的值無關

答案:c

2-7已知表頭元素為c的單鏈表在記憶體中的儲存狀態如下表所示:

答案:a

2-8下列函式中,哪個函式具有最慢的增長速度:

(4分)

a.n1.5

b.n2logn

c.n(logn)2

d.nlogn2

答案:d

2-9三叉樹中,度為1的結點有5個,度為2的結點3個,度為3的結點2個,問該樹含有幾個葉結點?

(4分)

a.10

b.8c.13

d.12

答案:b

2-10

要判斷乙個整數n(>10)是否素數,我們需要檢查3到√n之間是否存在奇數可以整除n。則這個演算法的時間複雜度是:

(4分)

a.o(√n)

b.o(0.5logn)

c.o(n/2)

d.o(√nlogn)

答案:a

2-11

假設有5個整數以1、2、3、4、5的順序被壓入堆疊,且出棧順序為3、5、4、2、1,那麼為了獲得這樣的輸出,堆疊大小至少為:

(4分)

a.4b.3

c.5d.2

答案:a

2-12

先序遍歷圖示二叉樹的結果為

(4分)

a.a,b,c,d,h,e,i,f,g

b.h,i,d,b,e,f,g,a,c

c.h,d,i,b,e,a,f,c,g

d.a,b,d,h,i,e,c,f,g

答案:d

三、程式填空題

5-1下列**的功能是返回帶頭結點的單鏈表l的逆轉鍊錶。

list reverse( list l )

l->next=new_head

(6分);

return l;

時間限制

400 ms

記憶體限制

64 mb

5-2

下列**的功能是將大頂堆h中指定位置p上的元素的整數鍵值上調d個單位,然後繼續將h調整為大頂堆。

void increasekey( int p, int d, priorityqueue h )

作者ds課程組

單位浙江大學

時間限制

400 ms

記憶體限制

浙大資料結構與演算法慕課隨手記 第二講 線性結構

例 一元多項式及其運算 方法1 順序儲存直接表示 陣列,浪費空間 方法2 順序儲存非零項 結構陣列,係數,指數 二元組,按指數大小有序儲存 方法3 鍊錶儲存非零項 定義兩個資料域 多項式表示問題啟示 1.同乙個問題有不同表示 儲存方法 陣列or鍊錶 2.共性問題 有序線性序列的組織與管理 線性表 同...

浙大資料結構與演算法慕課隨手記 第三講 樹(上)

分層次組織管理效率更高 資料管理基本操作 查詢 靜態查詢 陣列 方法1 順序查詢 哨兵值 o n 方法2 二分查詢 有序 連續儲存,left right mid,一般是向下取整 o logn 二分查詢的啟示 判定樹 1.每個結點的查詢次數 該結點所在層數 2.查詢次數 判定樹的深度 3.n個結點判定...

浙大資料結構 單鏈表逆轉

6 8 單鏈表逆轉 20 分 本題要求實現乙個函式,將給定的單鏈表逆轉。list reverse list l 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定單鏈表,...