1. 程式人生 > >資料結構習題及解析四

資料結構習題及解析四

來源:我是碼農,轉載請保留出處和連結!
本文連結:http://www.54manong.com/?id=44
一、選擇題
1、非空迴圈連結串列head 的尾結點 p 滿足下列( )條件。
A.head->nextp
B.head
p
C.p->nexthead
D.p->next
NULL
資料結構習題解析及答案解析:本題考點是非空迴圈連結串列的特性。
因為是非空迴圈連結串列,所以尾結點的下一個結點應該是頭結點。因此,本題參考答案是C。
2、設棧s的型別為sqstack ,判定棧空的條件是( )。
A.s == NULL
B.s->top == 0
C.s.top == 0
D.s.top == NULL
資料結構習題解析及答案解析:本題考點是棧空的條件。
判斷棧空的條件是棧頂元素是否為0。因此,本題參考答案是B。
3、具有4個頂點的無向完全圖有( )邊。
A. 20
B. 12
C.6
D.8
資料結構習題解析及答案解析:本題考點是無向完全圖的特性。
4個點,最多可以連出6條線。n頂點完全圖的邊數為C(n,2)=n(n-1)/2,因此,本題參考答案是C。
4、一個向量的第一個元素的地址是100,每個元素的長度是2 ,則第五個元素的地址是( )。
A.102
B.110
C.108
D.120
資料結構習題解析及答案解析:本題考點是向量中儲存地址的計算方法。
向量首地址是100,那麼第i個元素的地址是100+(i-1)2。因此,本題參考答案是C。
5、一個棧的輸入序列是a,b,c,d,e ,則不可能輸出是( )。
A.ecdab
B.cdeba
C.decba
D.abcde
資料結構習題解析及答案解析:本題考點是棧的基本原理。
由於輸入序列中d在c之後輸入,若在e輸入之前d和c還未輸出,那麼將來輸出時d一定在c之前輸出。因此,本題參考答案是A。
6、已知二叉樹的前、中根序列分別是abdefcg 和 defbagc,則該二叉樹的後根遍歷序列是( )。
A.defbgca
B.fedbgca
C.abcdefg
D.gfedcba
資料結構習題解析及答案解析:本題考點是二叉樹的遍歷方法。
由二叉樹的前、中根序列可以確定這棵二叉樹,再運用後根遍歷方法得到後序序列。或者可以用排除法,因為先根序列為abdefcg,中根為defbagc,可以看出a為根結點,defb和gc分別為左、右子樹,那麼a必然是後根遍歷序列的末結點,這樣可排除C選項。再對defb和gc採用上述方法進行判定,可以排除A和D。因此,本題參考答案是B。
7、深度為4 的二叉樹至多有個( )結點。
A.12
B.13
C.14
D.15
資料結構習題解析及答案解析:本題考點是二叉樹的特性。
最少k個,最多2k-1個,因為你沒有說明這是什麼二叉樹。如果是滿二叉樹那就是2k-1個。如果是完全二叉樹,那最少是2k個,最多2k-1個。如果既不是滿二叉樹,也不是完全二叉樹,那普通二叉樹深度為k時的結點數量就是最少k個,最多2k-1個。因此,本題參考答案是D。
8、具有6個頂點的無向圖至少要有( )條邊才能確保是一個連通圖。
A.4
B.5
C.6
D.7
資料結構習題解析及答案解析:本題考點是連通圖的基本概念。
六個頂點在一條線上時,最少5條邊,連通而不存在迴路。因此,本題參考答案是B。
9、已知一個順序儲存的線性表,設每個結點需佔m個儲存單元,若第一個結點的地址為da1,則第i個結點的地址為( )
A.da1+(i-1)m
B.da1+i

m
C.da1-i
m
D.da1+(i+1)*m
資料結構習題解析及答案解析:本題考點是順序表儲存地址計算方法。
由於第一個結點的地址為da1,那麼第二個結點的地址就是da1+(2-1)*m=da1+m,以此類推,第i個結點的地址為da1+(i-1)*m。因此,本題參考答案是A。
10、在n個結點的順序表中,演算法的時間複雜度是O(1)的操作是( )
A.訪問第i個結點(1<=i<=n)和求第i個結點的直接前趨(2<=i<=n)
B.在第i個結點後插入一個新的結點(1<=i<=n)
C.刪除第i個結點(1<=i<=n)
D.將n個結點從小到大排序.
資料結構習題解析及答案解析:本題考點是操作順序表時時間複雜度的計算方法。
假設順序表L,長度為n,求第i個節點L[i],直接前驅L[i-1],因此為O(1),答案B需要移動n-i個節點,因此為O(n),答案C也需要移動n-i個節點,答案D根據排序方法不同最慢O(n2),最快O(nlogn)。因此,本題參考答案是A。
11、直接插入排序演算法的時間複雜度為( )
A.O(N)
B.O(1)
C.O(N2)
D.O(LOGN)
資料結構習題解析及答案解析:本題考點是直接插入排序演算法的時間複雜度。
直接插入排序的做法是:每次從無序表中取出第一個元素,把它插入到有序表的合適位置,使有序表仍然有序。插入過程的時間複雜度是O(N2)。因此,本題參考答案是C。
12、下列排序方法中,從平均時間而言最佳的是( )
A.快速
B.希爾
C.基數
D.歸併
資料結構習題解析及答案解析:本題考點是各種排序演算法的時間複雜度。
快速排序的平均時間為O(nlogn),速度最佳。因此,本題參考答案是A。
13、下列是穩定的排序方法的( )
A.快速
B.希爾
C.堆
D.基數
資料結構習題解析及答案解析:本題考點是排序方法穩定性的判定。
假定在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中,ri=rj,且ri在rj之前,而在排序後的序列中,ri仍在rj之前,則稱這種排序演算法是穩定的;否則稱為不穩定的。上述選項只有基數排序滿足穩定性的定義。因此,本題參考答案是D。
14.所需輔助空間為O(N)的排序方法為( )
A.快速
B.希爾
C.基數
D.歸併
資料結構習題解析及答案解析:本題考點是排序演算法所需輔助空間的計算。
快速排序為O(logn ),為棧所需的輔助空間;歸併排序所需輔助空間最多,其空間複雜度為O(n);鏈式基數排序需附設佇列首尾指標,則空間複雜度為O(rd )。希爾排序空間複雜度是O(1) 因為只有一個緩衝單元。因此,本題參考答案是D。
15、表示式通常用( )表示
A.二叉樹的先序
B.二叉樹的中序
C.二叉樹的後序
D.二叉樹的層次
資料結構習題解析及答案解析:本題考點是二叉樹遍歷的應用。
表示式通常用二叉樹的中序來表示,得到的表示式是中綴表示式。因此,本題參考答案是B。
16、構造雜湊函式的方法不包括( )
A.直接定址
B.數字分析
C.摺疊法
D.二分查詢
資料結構習題解析及答案解析:本題考點是構造雜湊函式的方法。
二分查詢是查詢演算法,不能用來構造雜湊函式。因此,本題參考答案是D。
17、雜湊表中常用的處理衝突的方法不包括( )
A.開放定址
B.再雜湊
C.鏈地址
D.摺疊
資料結構習題解析及答案解析:本題考點是雜湊表中常用的處理衝突的方法。
雜湊表中常用的處理衝突的方法有開放定址法、再雜湊法、鏈地址法和建立公共溢位區方法四種。因此,本題參考答案是D。
18、二叉排序樹的特點不包括( )
A.右子樹大於根的值
B.左子樹小於根的值
C.左右子樹為二叉排序樹
D.左子樹大於右子樹的值
資料結構習題解析及答案解析:本題考點是二叉排序樹的特點。
二叉排序樹又稱二叉查詢樹,亦稱二叉搜尋樹。 它或者是一棵空樹;或者是具有下列性質的二叉樹:
(1)若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;
(2)若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;
(3)左、右子樹也分別為二叉排序樹;
因此,本題參考答案是D。
19、三個結點可以構成多少種二叉樹( )
A.5
B.6
C.7
D.4
資料結構習題解析及答案解析:本題考點是二叉樹的構造方法。
3個結點的二叉樹有5種形態:兩層樹:根左右;三層樹: 根左(第二層)左(第三層)、根左(第二層)右(第三層)、根右(第二層)左(第三層)、根右(第二層)右(第三層)。因此,本題參考答案是A。
20、假設一個棧的進棧順序為a,b,c,d,則不可能的出棧順序為( )
A.a,b,c,d
B.a,d,b,c
C.d,c,b,a
D.c,b,a,d
資料結構習題解析及答案解析:本題考點是棧的特性。
由於輸入序列中c在b之後輸入,若在d輸入之前b和c還未輸出,那麼將來輸出時c一定在b之前輸出。因此,本題參考答案是B。
21、用鄰接表表示圖進行深度優先遍歷時,通常採用( )來實現演算法.
A.棧
B.佇列
C.樹
D.圖
資料結構習題解析及答案解析:本題考點是圖的遍歷過程。
圖進行深度優先遍歷時採用棧作為儲存結構,廣度優先遍歷時採用佇列作為儲存結構。 因此,本題參考答案是A。
22、已知L是帶頭結點的單鏈表,p指向表中某結點,則要刪除p結點的後繼結點應執行操作( )。
A.p->next = p->next->next;
B.p->next->next = p->next
C.p->next = s; s->next = p->next;
D.s->next = p->next; p->next = s;
資料結構習題解析及答案解析:本題考點是單鏈表的刪除操作。
要刪除單鏈表中的某結點,只要令該結點的前驅結點的next指向該結點的後繼結點即可。 因此,本題參考答案是A。
23、求關鍵路徑的時間複雜度為( )
A.O(N+E)
B.O(N+1)
C.O(1+E)
D.O(N2+1)
資料結構習題解析及答案解析:本題考點是關鍵路徑的時間複雜度的求法。
設AOE網有n個頂點,e條邊,在求事件可能的最早發生時間及允許的最遲發生時間,以及活動的最早開始時間和最晚開始時間時,都要對圖中所有頂點及每個頂點邊表中所有的邊結點進行檢查,時間花費為O(N+E)。因此,本題參考答案是A。
24、從具有n個結點的單鏈表中查詢值等於x的結點時,在查詢成功的情況下,平均需比較( )個結點。
A.n
B.n/2
C.(n-1)/2
D.(n+1)/2

資料結構習題解析及答案解析:本題考點是單鏈表的查詢操作。
如果查詢的是第一個是比較1次,第二個是2次,第n個是n次,要查詢的元素每個概率相等即每個為1/n,所以平均是(1/n)(1+2+3+……n)=(1+n)/2次。查詢失敗是即是每個都查找了一遍都沒找到所以是n次。因此,本題參考答案是D。
25、順序結構中刪除一個元素的平均時間為( )
A.1/N
B.1/(N+1)
C.1
D.1/N2
資料結構習題解析及答案解析:本題考點是順序結構中元素的刪除操作。
在等概率的條件下,順序結構中刪除一個元素的平均時間為1/N。 因此,本題參考答案是A。
26、以下不屬於資料結構的是( )
A.集合
B.線性結構
C.樹形結構
D.環形結構
資料結構習題解析及答案解析:本題考點是資料結構的種類。
線性結構、圖、樹和集合等都屬於資料結構,環形結構不屬於資料結構。因此,本題參考答案是D。
27、以下不屬於演算法的特性的是( )
A.確定性
B.有窮性
C.輸入
D.判斷
資料結構習題解析及答案解析:本題考點是演算法的特性。
一般說來,演算法必須具備以下五個重要特性:確定性、可行性、輸入、輸出和有窮性,判斷不是演算法的特性。因此,本題參考答案是D。
28、線性表中插入元素的平均效率為( )
A.1/(n+1)
B.1/n
C.O(1)
D.O(N)
資料結構習題解析及答案解析:本題考點是線性表中插入元素平均效率的計算方法。
0,1,2,3,4,5,6,…n-1,n,每一個的可能是1/(n+1)。因此,本題參考答案是A。
29、空棧的判斷條件是( )
A.top=n
B.top=0
C.bottom=n
D.bottom=0
資料結構習題解析及答案解析:本題考點是空棧的判斷條件。
棧頂元素為0的棧是空棧。因此,本題參考答案是B。
30、棧的特點是( )
A.先進先出
B.一同進出
C.後進先出
D.後進後出
資料結構習題解析及答案解析:本題考點是棧的特點。
後進先出是棧最大的特點。這是因為前面先進棧的元素被後進棧的元素壓在棧底,只有後進棧的元素出棧,先進棧的元素才有可能出棧。因此,本題參考答案是C。
二、填空題
1、在n個結點的順序表中,刪除一個結點需平均移動_______個結點,具體的移動次數取決於____________。
資料結構習題解析及答案解析:本題考點是順序表的刪除操作。
具體移動次數取決於待刪除元素所在的位置,比如刪除倒數第1個,則移動次數為0,刪除倒數第2個則移動次數為1,依此類推,刪除倒數第i個,則需移動i-1次。而平均移動次數則取決於表長n、各待刪除元素的位置及其被刪除概率。設pi為刪除第i個元素的概率,則平均移動次數為:p1*(n-1)+p2*(n-2)+p3*(n-3)+…+pn0,如果是等概率,則pi=1/n,則平均移動次數為:(1/n)

(n-1)+(1/n)*(n-2)+…+(1/n)1 = (1/n)(1+2+…+(n-1)) = (n - 1) / 2。
2、在迴圈連結串列中,可根據在一結點的地址遍歷整個連結串列,而單鏈表中需要知道_________才能遍歷整個連結串列。
資料結構習題解析及答案解析:本題考點是單鏈表的基本操作。
雙鏈表中,在任一結點可以向兩邊遍歷。而在單鏈表中,只能從前往後遍歷,不可以逆向,所以必須知道單鏈表的頭指標才能遍歷整個單鏈表。
3、在棧中存取資料的原則是:____________。
資料結構習題解析及答案解析:本題考點是棧的特點。
後進先出是棧最大的特點,也是棧中存取資料的原則。
4、在棧結構中,允許插入,刪除的一端稱為______,另一端稱為_________。
資料結構習題解析及答案解析:本題考點是棧的基本結構。
在棧中,棧頂一端允許元素的插入和刪除,棧底不能。
5、順序表相對於連結串列的優點有_______和_________。
資料結構習題解析及答案解析:本題考點是順序表的優點。
順序表相對於連結串列主要優點有隨機存取訪問快、操作簡單、容易實現等。
三、解答題
1、49,38,65,97,76,13,27,49,55,4的希爾排序過程。
資料結構習題解析及答案解析:本題考點是希爾排序的基本過程。
上述資料希爾排序過程如下:
希爾排序
2、描述 49,38,65,97,76,13,27快速排序的過程。
資料結構習題解析及答案解析:本題考點是快速排序的基本過程。
上述資料快速排序的基本過程如下:
快速排序
3、從時間複雜度,空間複雜度方面簡單分析快速排序,基數排序,堆排序,歸併排序,簡單排序。
資料結構習題解析及答案解析:本題考點是各類排序演算法的時間複雜度和空間複雜度。
答題要點:
排序演算法的時間複雜度
四、演算法題
1、2-路歸併排序演算法的實現。
資料結構習題解析及答案解析:本題考點是2-路歸併排序演算法的具體實現。
本題參考答案如下:
歸併排序
2、先序遍歷二叉樹演算法的實現。
資料結構習題解析及答案解析:本題考點是先序遍歷二叉樹演算法的具體實現。
本題參考答案如下:
二叉樹的遍歷