浙大資料結構期中考試試題
1-1
無向連通圖所有頂點的度之和為偶數。 (3分)
T F
Author: DS課程組
Organization: 浙江大學
1-2
如果無向圖G必須進行兩次廣度優先搜尋才能訪問其所有頂點,則G一定有2個連通分量。 (3分)
T F
Author: DS課程組
Organization: 浙江大學
1-3
所謂“迴圈佇列”是指用單向迴圈連結串列或者迴圈陣列表示的佇列。 (2分)
T F
Author: DS課程組
Organization: 浙江大學
1-4
某二叉樹的前序和中序遍歷序列正好一樣,則該二叉樹中的任何結點一定都無右孩子。 (3分)
T F
Author: DS課程組
Organization: 浙江大學
1-5
演算法分析的兩個主要方面是時間複雜度和空間複雜度的分析。 (2分)
T F
Author: DS課程組
Organization: 浙江大學
1-6
若一個棧的輸入序列為{1, 2, 3, 4, 5},則不可能得到{3, 4, 1, 2, 5}這樣的出棧序列。 (3分)
T F
Author: 徐鏡春
Organization: 浙江大學
1-7
將一棵完全二叉樹存於陣列中(根結點的下標為1)。則下標為23和24的兩個結點是兄弟。 (3分)
T F
Author: 何欽銘
Organization: 浙江大學
1-8
若用連結串列來表示一個線性表,則表中元素的地址一定是連續的。 (3分)
T F
Author: 陳越
Organization: 浙江大學
1-9
在一棵由包含4、5、6等等一系列整數結點構成的二叉搜尋樹中,如果結點4和6在樹的同一層,那麼可以斷定結點5一定是結點4和6的父親結點。 (3分)
T F
Author: DS課程組
Organization: 浙江大學
1-10
將1、2、3、4、5、6順序插入初始為空的AVL樹中,當完成這6個元素的插入後,該AVL樹的先序遍歷結果是:4、2、1、3、5、6。 (3分)
T F
2-1
在並查集問題中,已知集合元素0~8所以對應的父結點編號值分別是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示樹根且對應集合大小為n),那麼將元素6和8所在的集合合併(要求必須將小集合併到大集合)後,該集合對應的樹根和父結點編號值分別是多少? (4分)
- 4和-5
- 8和-5
- 8和-6
- 1和-6
Author: DS課程組
Organization: 浙江大學
2-2
下列函式中,哪個函式具有最快的增長速度? (4分)
- N(logN)4
- N3
- NlogN2
- N2logN
Author: DS課程組
Organization: 浙江大學
2-3
給定N×N×N的三維陣列A,則在不改變陣列的前提下,查詢最小元素的時間複雜度是:(4分)
- O(NlogN)
- O(N2)
- O(N3logN)
- O(N3)
Author: DS課程組
Organization: 浙江大學
2-4
設一棵非空完全二叉樹 T 的所有葉節點均位於同一層,且每個非葉結點都有 2 個子結點。若 T 有 k 個葉結點,則 T的結點總數是:(4分)
- k2
- 2k−1
- 2k
- 2k−1
Author: 考研真題
Organization: 浙江大學
2-5
對最小堆(小頂堆){1,3,2,12,6,4,8,15,14,9,7,5,11,13,10} 進行三次刪除最小元的操作後,結果序列為:(4分)
- 4,6,5,12,7,10,8,15,14,9,13,11
- 4,5,6,12,7,10,8,15,14,13,9,11
- 4,5,6,7,8,9,10,11,12,13,14,15
- 4,6,5,13,7,10,8,15,14,12,9,11
Author: DS課程組
Organization: 浙江大學
2-6
三叉樹中,度為1的結點有5個,度為2的結點3個,度為3的結點2個,問該樹含有幾個葉結點? (4分)
- 10
- 13
- 8
- 12
Author: DS課程組
Organization: 浙江大學
2-7
將{5, 2, 7, 3, 4, 1, 6}依次插入初始為空的二叉搜尋樹。則該樹的後序遍歷結果是:(4分)
- 1, 4, 3, 2, 6, 7, 5
- 1, 2, 3, 4, 6, 7, 5
- 1, 4, 2, 6, 3, 7, 5
- 5, 4, 3, 7, 6, 2, 1
Author: DS課程組
Organization: 浙江大學
2-8
表示式a*(b+c)-d
的字尾表示式是: (4分)
a b c d * + -
a b c + * d -
a b c * + d -
- + * a b c d
Author: DS課程組
Organization: 浙江大學
2-9
設一段文字中包含字元{a, b, c, d, e},其出現頻率相應為{3, 2, 5, 1, 1}。則經過哈夫曼編碼後,文字所佔位元組數為: (4分)
- 40
- 36
- 25
- 12
Author: DS課程組
Organization: 浙江大學
2-10
在圖中自d點開始進行深度優先遍歷演算法可能得到的結果為: (4分)
- d,a,e,b,c,f
- d,e,a,c,f,b
- d,f,c,e,a,b
- d,a,c,f,e,b
Author: DS課程組
Organization: 浙江大學
2-11
在一個不帶頭結點的非空鏈式佇列中,假設f和r分別為隊頭和隊尾指標,則插入s所指的結點運算是( )。 (4分)
- f->next=s; f=s;
- r->next=s; r=s;
- s->next=s; r=s;
- s->next=f; f=s;
Author: 嚴冰
Organization: 浙江大學城市學院
2-12
在單鏈表中,若p
所指的結點不是最後結點,在p
之後插入s
所指結點,則執行 (4分)
s->next=p->next; p->next=s;
s->next=p; p->next=s;
s->next=p->next; p=s;
p->next=s; s->next=p;
5-1
下列程式碼的功能是從一個大頂堆H
的某個指定位置p
開始執行下濾。
void PercolateDown( int p, PriorityQueue H )
{
int child;
ElementType Tmp = H->Elements[p];
for ( ; p * 2 <= H->Size; p = child ) {
child = p * 2;
if ( child!=H->Size && (6分) )
child++;
if ( H->Elements[child] > Tmp )
(6分);
else break;
}
H->Elements[p] = Tmp;
}
Author: 陳越
Organization: 浙江大學
Time Limit: 400 ms
Memory Limit: 64 MB
5-2
下列程式碼的功能是返回帶頭結點的單鏈表L
的逆轉連結串列。
List Reverse( List L )
{
Position Old_head, New_head, Temp;
New_head = NULL;
Old_head = L->Next;
while ( Old_head ) {
Temp = Old_head->Next;
(6分);
New_head = Old_head;
Old_head = Temp;
}
(6分);
return L;
}