第一篇:數(shù)據(jù)結(jié)構(gòu)考試題目及答案
數(shù)據(jù)結(jié)構(gòu)試題6
一、單項選擇題(每小題3分,共30分)
1.設(shè)棧的輸入序列是1、2、3、4,則______不可能是其出棧序列。
()[A] 1234
[B] 2134
[C] 1432
[D] 4312
2.在一個具有n個結(jié)點的線性鏈表中查找某個結(jié)點,若查找成功,需要平均比較_____個結(jié)點。
()[A] n
[B] n/2
[C](n+1)/2
[D](n-1)/2
3.設(shè)每個字符占一個字節(jié),二維數(shù)組 A中每個元素有6個字符組成,其行下標從0到9,列下標從0到3,元素_____當(dāng)A按行優(yōu)先存儲起始地址與當(dāng)A按列優(yōu)先存儲的起始地址相同。
()[A] A[3][0]
[B] A[3][1]
[C] A[3][2]
[D] A[2][3]
4.具有2000個結(jié)點的非空二叉樹的最小深度為_______。
()[A] 9
[B] 10
[C] 11
[D] 12
5.已知某二叉樹的后根序列是dabec,中根序列是debac,則先根序列是_____。
()[A] acbed
[B] decab
[C] deabc
[D] cedba 6.無向圖中所有邊的數(shù)目等于所有頂點的度數(shù)之和的_____倍。
()[A] 1
[B] 2
[C] 1/2
[D] 不一定
7.遞歸函數(shù)F(n)=F(n-1)+n+1(n>1)的遞歸體是_______。
()[A] F(0)=0
[B] F(1)=1
[C] F(n)=n+1
[D] F(n)=F(n-1)+n+1 8.若需要在O(nlog2n)的時間內(nèi)完成對 n個元素的排序,且要求排序是穩(wěn)定的,則可選擇的排序方法是_______。
()[A] 快速排序
[B] 堆排序
[C] 歸并排序
[D] 直接插入排序
9.在對n個元素的序列進行排序時,堆排序所需要的附加存儲空間是__。()
[A] O(1)
[B] O(log2n)
[C] O(n)
[D] O(n log2n)
10.假定有K個關(guān)鍵字互為同義詞,若用線性探查法把這K個關(guān)鍵字存入散列表中,則總的探查次數(shù)至少為______。
()
[A] K-1
[B] K
[C] K+1
[D] K(K+1)/22
二、填空題(每小題2分,共20分)
1.對于一個長度為n的順序存儲的線性表,在表頭插入元素的時間復(fù)雜度為______,在表尾插入元素的時間復(fù)雜度為________。
2.在一棵二叉樹中,第5層(根結(jié)點為1層)上的結(jié)點數(shù)最多為____________。
3.一棵高度為h的理想平衡樹中,最少含有______個結(jié)點,最多含有________個結(jié)點。
4.在一個小根堆中,堆頂結(jié)點的值是所有結(jié)點中的_________,在一個大根堆中,堆頂結(jié)點的值是所有結(jié)點中的_________。
5.在一個具有n個頂點的無向圖中,要連通所有頂點則至少需要_________條邊。
6.假定一個圖具有n個頂點和e條邊,貝采用鄰接矩陣、鄰接表表示時,其相應(yīng)的空間復(fù)雜度分別為__________和___________。
7.以二分查找方法查找一個線性表時,此線性表必須是_________存儲的________表。
8.在線性表的散列存儲中,處理沖突有___________和___________兩種方法。
9.快速排序在平均情況下的空間復(fù)雜度為_____,在最壞情況下的空間復(fù)雜度為_____。
10.在一棵20階 B_樹中,每個非樹根結(jié)點的關(guān)鍵字數(shù)目最少為_______個,最多為____。
三、判斷題(認為對的,在題后的括號內(nèi)打“√”,錯的打“ⅹ”,每小題 1分,共10)
1.線性表中,每個結(jié)點都有一個前驅(qū)和一個后繼。
()
2.有向圖的鄰接表和逆鄰接表中的結(jié)點數(shù)一定相同。
()
3.單鏈表中要取得某個元素,只要知道該元素的指針即可,因此單鏈表是隨機存取的存儲結(jié)構(gòu)。
()
4.在快速排序、歸并排序和shell排序中,穩(wěn)定的是shell排序。
()5.對不同的存儲結(jié)構(gòu),檢索的方法不同。
()
6.在散列表中,負載因子值越小則存元素時發(fā)生沖突的可能性就越大。
()
7.由于二叉樹中每個結(jié)點的度最大為2,所以二叉樹是一種特殊的樹。
()
8.若一棵二叉樹的樹葉是某子樹對稱序周游序列中的第一個結(jié)點,則它 必是該子樹后序周游序列中的第一個結(jié)點。
()
9.二叉樹按線索化后,任一結(jié)點均有指向其前驅(qū)和后繼的線索。
()
10.在采用線性探查法處理沖突的散列表中,所有同義詞在表中相鄰。
()
四、簡答題(每題10分,共60分)
1.說明數(shù)組和鏈表的區(qū)別,各有何優(yōu)缺點?
2.回答下列關(guān)于堆的一些問題:
(1)堆的定義是什么?
(2)存儲表示是順序的,還是鏈式的?
(3)設(shè)有一個最小堆,其具有最小值、最大值的元素分別可能在什么地方?
3.完全二叉樹用什么數(shù)據(jù)結(jié)構(gòu)實現(xiàn)最合適,為什么?
4.在直接插入排序、希爾排序、冒泡排序、快速排序、直接選擇排序、堆排 序和歸并排序中,哪些易于在鏈表(包括各種單、雙、循環(huán)鏈表)上實現(xiàn)?
5.用下列三種表示法畫出下圖G的存儲結(jié)構(gòu)
(1)相鄰矩陣
(2)鄰接表
(3)鄰接多重表
6.已知序列(70,83,100,65,10,32,7),請給出采用插入排序法對該序列作升序排序時的每一趟結(jié)果。
五、算法設(shè)計題(每題15分,共30分)
說明:可以使用任何高級程序設(shè)計語言或偽(類)程序設(shè)計語言。
1.已知非空單鏈表第一個結(jié)點由 list 指出,寫一算法,交換p 所指結(jié)點(不是鏈表中第一個結(jié)點,也不是鏈表中最后的那個結(jié)點)與其下一個結(jié)點在鏈表中的位置,并給出算法的時間復(fù)雜度。
2.設(shè)計一個算法,統(tǒng)計一個采用鄰接矩陣存儲、具有n個頂點的無向無權(quán)圖所有頂點的度。
數(shù)據(jù)結(jié)構(gòu)試題6答案
一、1.D 2.C 3.B 4.C 5.D 6.C 7.D 8.C 9.A 10.D
二、1.O(n)O(1)
2.16
3.2 h 一 h 一1
4.最小值 最大值
5.n一1
6.O(n 2)O(n十e)、7.順序 有序
8.開放定址法 鏈接法(次序無先后)
9.O(1og2n)
O(n)
10.9
三、1.X
2.√
3.X 4.X
5.√
6.X
7.X
8.√
9.X
10.X
四、1.區(qū)別:數(shù)組占用連續(xù)的內(nèi)存空間,鏈表不要求結(jié)點的空間連續(xù)。
各有何優(yōu)缺點:(1)插入和刪除操作。數(shù)組插入和刪除需移動數(shù)據(jù)元素,鏈表插入和刪除不移動數(shù)據(jù)元素,鏈表比數(shù)組易于實現(xiàn)插入和刪除操作;(2)在空間占用方面,數(shù)組優(yōu)于鏈表;
(3)在數(shù)據(jù)存取方面,數(shù)組是隨機存取方式,而2 鏈表是順序存取方式。2.(1)堆是 n個元素的有限序列 K1,K2,? , KN,且滿足以下條件: Ki <= K2i 且Ki <= K2i+
1I=1,2,?, n/2(最小堆)
或Ki >= K2i 且Ki >= K2i+1
I=1,2,?, n/2(最大堆)
(2)因為完全二叉樹采用順序存儲更加有效,所以堆應(yīng)采用順序存儲結(jié)構(gòu)。
(3)最小堆的最小值元素必在堆頂,最大值的元素只有在葉結(jié)點上。
3.完全二叉樹用一維數(shù)組實現(xiàn)最合適。(1)不存在空間浪費問題;(2)順序存儲方式下,父子結(jié)點之間的關(guān)系可用公式描述,訪問結(jié)點方便。采用鏈表存儲存在空間浪費問題,且不易尋找父結(jié)點。
4.在上述排序方法中,只有直接插入排序、冒泡排序、直接選擇排序易于在鏈表上實現(xiàn)。
5.相鄰矩陣:
鄰接表:
鄰接多重表:
6.初
始:(70),83,100,65,10,32,07 第1趟:(70,83),100,65,10,32,07 第2趟:(70,83,100),65,10,32,07 第3趟:(65,70,83,100),10,32,07 第4趟:(10,65,70,83,100),32,07 第5趟:(10,32,65,70,83,100),07 第6趟:(07,10,32,65,70,83,100)
五、算法的 ADL描述如下:
算法CHANGE(list,p)q←list
WHILE(next(q)<>p)DO
q←next(q)r←next(p)next(q)←r next(p)←next(r)next(r)←p
算法的時間復(fù)雜度為O(n)
2.假設(shè)鄰接矩陣為 adjacency(二維數(shù)組),頂點的度保存在一維數(shù)組A中。
算法的 ADL描述如下: [初始化]
FOR i=1 TO n DO A[i]←0
FOR i=1 TO n DO FOR j=1 TO n DO
IF adjacency[i,j]=1 THEN
A[i]←A[i]+1
數(shù)據(jù)結(jié)構(gòu)試題7
一、單項選擇題(每小題 2 分,共 20 分)
1.序列 A,B,C,D,E 順序入棧,不能獲得的序列是:()
A.ABCDE
B.CDEBA
C.EDCBA
D.DECAB 2.通常算法分析中算法的空間復(fù)雜度是指:()
A.所需全部空間大小 B.完成運算所需輔助空間大小 C.待處理數(shù)據(jù)所需全部空間大小 D.存儲空間的復(fù)雜程度
3.Huffman樹是:()
A.最佳二叉樹
B.路徑長度最短的二叉樹
C.最佳二叉排序樹 D.加權(quán)路徑長度最短的二叉樹
4.在單鏈表中刪除 P指針後的節(jié)點 Q 需要修改的指針域個數(shù)為:()A.2
B.4
C.6
D.1
5.設(shè) n0,n1,n2 分別是二叉樹中度為 0,1,2 的結(jié)點數(shù),則有:()A.n0=n2+1
B.n0=n2-1
C.n0=n1+1
D.n0=n1-1 6.下列說法中錯誤的是:()
A.n 個結(jié)點的樹的各結(jié)點度數(shù)之和為 n-1
B.n 個結(jié)點的有向圖最多有 n*(n-1)條邊 C.用相鄰矩陣存儲圖時所需存儲空間大小與圖中邊數(shù)有關(guān) D.散列表中碰撞的可能性大小與負載因子有關(guān)
7. 若線性表采用順序存儲結(jié)構(gòu),每個元素占用 4個存儲單元,第一個元素的存儲地址為 100,則第 12 個 元素的存儲地址是:()A. 113
B.144 C.148 D.412
8.下列哪一種排序方法的比較次數(shù)與紀錄的初始排列狀態(tài)無關(guān)?()A.直接插入排序 B.起泡排序 C.快速排序 D.直接選擇排序
9.設(shè)有 5000 個無序的元素,希望用最快的速度挑選出其中前 50個最大的元素,最好選用:()
A.冒泡排序 B.快速排序 C.堆排序 D.基數(shù)排序
10.用某種排序方法對序列(25,84,21,47,15,27,68,35,20)進行排序時,序列的 變化情況如下,則所采用的排序方法是:()
20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84
A.選擇排序 B.希爾排序 C.歸并排序 D.快速排序
二、判斷題(每小題 1 分,共 10 分,對的打√,錯的打×)
1.給出不同輸入序列建造二叉排序樹,一定得到不同二叉排序樹。()2.有向圖的鄰接表和逆鄰接表中的結(jié)點數(shù)一定相同。()
3.圖 G 的拓撲序列唯一,則其弧數(shù)必為 n-1(其中 n為 G 的頂點數(shù))。()4.在索引順序文件中插入新的記錄時,必須復(fù)制整個文件。()
5.如果某種排序算法是不穩(wěn)定的,則該方法沒有實際的應(yīng)用價值。()6.對 n 個記錄進行冒泡排序,在最壞情況下所需要的時間是 O(n 2)()7.在線性結(jié)構(gòu)中,每個結(jié)點都有一個直接前驅(qū)和一個直接后繼。()8.AVL 樹的任何子樹都是 AVL樹。()
9.B+樹既適于隨機檢索,也適于順序檢索。()
10.兩個字符串相等的充要條件是兩個串包含的字符相同。()
三、填空題(每空 1 分,共 15分)
1.用起泡法對 n 個關(guān)鍵碼排序,在最好情況下,只需做__次比較和 _______次移動; 在最壞的情況下要做___ _ _ _次比較。
2.若按層次順序?qū)⒁豢糜衝個結(jié)點的完全二叉樹的所有結(jié)點從1到n編號,那么當(dāng)i為_____且大于 1時,結(jié)點I 的左兄弟是結(jié)點___ _,否則結(jié)點 i 沒有左兄弟。
3.具有 N 個結(jié)點的完全二叉樹的深度為________。
4.樹的三種主要的遍歷方法是:__
__ ____、____
____和層次遍歷。
5.采用散列技術(shù)實現(xiàn)散列表時,需要考慮的兩個主要問題是: _____和解決_____ ___。
6.在一個帶頭結(jié)點的單循環(huán)鏈表中,p 指向尾結(jié)點的直接前驅(qū),則指向頭結(jié)點的指針 head
可用 p 表示為 head=_______。
7.棧頂?shù)奈恢檬请S著_______、_________操作而變化的。
8. 已知一棵完全二叉樹中共有 768 結(jié)點,則該樹中共有_______個葉子結(jié)點。
四、簡答題(第 1、2 題每小題 6 分,第 3、4、5 題每小題 8 分,共 36 分)1.已知一個無向圖的頂點集為{a, b, c, d, e} ,其鄰接矩陣如下圖 1 所示
(1)畫出該圖的圖形;
(2)根據(jù)鄰接矩陣從頂點 a出發(fā)進行深度優(yōu)先遍歷和廣度優(yōu)先遍歷,寫出相應(yīng)的遍歷序列。
(圖1)
(圖2)
2.將上圖 2所示的二叉樹轉(zhuǎn)換為樹或樹林(畫出連線-刪線圖和結(jié)果圖)。
3:設(shè)有一組關(guān)鍵碼序列:
{6097,3485,8129,407,8136,6615,6617,526,12287,9535,9173,2134,1903,99} 和散列函數(shù):H(key)=key MOD 19。采用線性探測法解決沖突,試在 0~18 的散列地址空間中對該關(guān)鍵碼序列構(gòu)造散列表。
4.設(shè)有關(guān)鍵碼集合 K={72,73,71,23,94,16,05,68},將其建成一個堆(畫出每步所 得的圖即可)。
5.從一棵空的 AVL 樹開始,將關(guān)鍵碼 xal,wan,wil,zol,yo,xum 逐個插入,畫出每插入一 個關(guān)鍵碼后得到的 AVL 樹。
五、算法設(shè)計(19 分)
用類 PASCAL語言或類 C 語言寫出將 n 個記錄用冒泡排序法進行升序排 序的算法(第一次冒泡將排序碼最小的記錄放在第一個位置,第二次冒泡將排序碼次最小的 記錄放在第二個位置 ? ?)。
數(shù)據(jù)結(jié)構(gòu)試題7答案
一. 1.D 2.A
3.D
4.D
5.A
6.C
7.B
8.D 9.C 10.D 二. 1.× 2.√ 3.√ 4.× 5.× 6.√ 7.× 8.√ 9.× 10.×
三.
1. n-1 0 n(n-1)/2
2. 奇數(shù) i-1
3. [log2N]+1
4. 先根 后根
5.選取好的散列函數(shù) 沖突(碰撞)
6. P↑.next↑.next
7. 進棧 退棧
8. 384 四.1.2、深度:a,b,d,e,c 廣度:a,b,e,d,c3、4、5、五、TYPE node=RECORD
VAR i,j:integer;
key:integer;
flag:0..1;info:datatype
X:node;END;
R:arrar[1..n] of node;FOR i:=1 TO n DO Begin flag:=0;
FOR j:=n-1 TO I DO if R[j+1].key then 算法結(jié)束 End 數(shù)據(jù)結(jié)構(gòu)試題8 一.單項選擇題(每小題 1 分,15 分) 1.編號為 A,B,C,D 的四輛列車,順序開進棧式結(jié)構(gòu)的站臺,則開出車站的順序中,不可能出 現(xiàn)的次序為:() A.BDAC B.CBAD C.ACBD D.DCBA 2.兩個同義詞子表結(jié)合在一起的現(xiàn)象稱為:()A.碰撞 B.拉鏈 C.鏈接 D.堆積 3.一棵二叉樹若前序和對稱序周游得到的節(jié)點序列相同,則這棵二叉樹滿足: ()A.只能是一個節(jié)點的二叉樹 B.為空二叉樹或者該樹所有節(jié)點的左子樹為空二叉樹 C.只能是空二叉樹 D.為空二叉樹或者該樹所有節(jié)點的右子樹為空二叉樹 4.一棵深度為m的滿三叉樹定義為:或者是空三叉樹,或者是第m層有3 1 ? m 個葉節(jié)點,其余 各層的節(jié)點均有三棵(左,中,右)非空子三叉樹.對該樹按層自左向右從 1 開始順序編號, 則編號為 n的節(jié)點,其父節(jié)點若存在,則父節(jié)點編號為:() 5.有 n 個節(jié)點的有向完全圖的邊數(shù)為:() A.n B.n(n-1)C.2n D.n(n-1)/2 6.廣義表 L=(((),()),(),())的長度為:() A.3 B.0 C.4 D.5 7.設(shè) H(key)為散列函數(shù),key 為記錄的關(guān)鍵字.在散列表中,記錄 R1 和 R2 的關(guān)鍵字分別為 key 1 和 key 2 ,稱他們?yōu)橥x詞的條件是:()A.key 1 =key 2 B.key 1 =key 2 且 H(key 1)=(key 2)C.R1=R2 D.key 1 ≠ key 2 且 H(key 1)=(key 2)8.下面那一個不是存儲管理考慮的問題:() A.壓縮碎片問題 B.無用節(jié)點收集 C.表節(jié)點的順序 D.空間溢出管理 9.不能存儲二叉樹的存儲結(jié)構(gòu)為:() A.三叉鏈表 B.散列表 C.順序表 D.二叉鏈表2 10.AVL 數(shù)不平衡后要調(diào)整的情形有:()A.2 種 B.4 種 C.6 種 D.8 種 11.在排序過程序中,使用輔助存儲空間為 O(n)的算法是:()A.插入排序 B.歸并排序 C.起泡排序 D.快速排序 12.若無向圖中有 n 個結(jié)點,e 條邊,則它的鄰接表需要表節(jié)點數(shù)目為:()A.2e B.2e+n C.2e+1 D.e+2n 13.字符串的緊縮存儲形式是每個字符占:() A.1 個二進制位 B.1 個字節(jié) C.1 個字 D.1 個結(jié)點單元 14.循環(huán)隊列 SQ有 m 個單元,其滿隊條件是:()A.(SQ.rear+1)MOD M=SQ.front B.SQ.rear=SQ.front C.SQ.rear=m D.SQ.front=m 15.通常算法分析中算法的空間復(fù)雜度是指:() A.所需全部空間大小 C.完成運算所需輔助空間大小 B.待處理數(shù)據(jù)所需全部空間大小 D.存儲空間的復(fù)雜程度 二.填空題(每空1 分,共 10 分) 1.數(shù)據(jù)結(jié)構(gòu)中的節(jié)點可分為兩大類:___________和___________.2.結(jié)構(gòu)的____________是指數(shù)據(jù)本身所占存儲量/整個結(jié)構(gòu)所占存儲量.3.散列存儲方法的關(guān)鍵問題是________________和________________.4.一棵樹刪去根節(jié)點就變成_______________.5.用二分檢索法進行檢索時,要求節(jié)點事先________________.6.設(shè)圖 G 有 n個節(jié)點,t條邊,若 d i 為節(jié)點 v i 的度數(shù),則 t=___________.7.對于不連通的無向圖和不是強連通的有向圖進行周游,得到的是:________.8.排序方法的穩(wěn)定性是指排序關(guān)鍵字值相同的記錄在排序過程中不改變其原有的 _____________關(guān)系.三.多項選擇題(錯選,多選,漏選均不得分.每小題 2 分,共 6 分)1.根據(jù)描述算法的語言不同,可將算法分為:() A.形式算法 B.非形式算法 C.偽語言算法3 D.運行不終止的程序可執(zhí)行部分 E.運行終止的程序可執(zhí)行部分 2.能夠從任意節(jié)點出發(fā)訪問到其余結(jié)點的結(jié)構(gòu)有:()A.單鏈表 B.循環(huán)鏈表 C.雙鏈表 D.二叉鏈表 E.鄰接表 3.圖的常見存儲結(jié)構(gòu)可以選取:()A.鄰接表 B.鄰接矩陣 C.逆鄰接表 D.鄰接多重表 E.散列表 四.簡答題(每小題 4 分,共 12 分) 1.快速排序算法是否穩(wěn)定?舉一個具有六個記錄(只考慮排序碼)的例子予以說明.2.穿線樹的最大優(yōu)點是什么? 3.簡述關(guān)鍵碼和排序碼的概念.五.分析計算題(每小題 7 分,共 21分)1.計算如下程序段的時間復(fù)雜度.?? s:=0;FOR i:=1 TO n DO BEGIN t:=1; WHILE t<=i DO BEGIN t:=t*2;s:=s+t END END;? 2.將上三角矩陣(a ij)n * n的上三角元素逐行存放于數(shù)組 B[1..m]中(m 充分大),使得 B[k]=a ij ,且 k=f 1(i)+f 2(j)+C,試推導(dǎo)出函數(shù) f 1(i), f 2(j)和常數(shù) C,要求 f 1(i)和 f 2(j)中不含常數(shù)項.3.關(guān)鍵碼序列{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec},按字母序號排號序為{Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep},然后用二分發(fā)進行檢索,計算在等概率條件下檢索成功的平均查找長度.六.綜合題(5+5+8+10+8) 1.分步寫出將下面樹林轉(zhuǎn)換成二叉樹的過程.2.對于下圖給出其鄰接表,并從頂點 1 出發(fā)依據(jù)存儲結(jié)構(gòu)進行深度遍歷,寫出遍歷結(jié)果.3.程序填空:在橫線處填入適當(dāng)?shù)膬?nèi)容,將程序補充完整.程序功能:在有序表中用二分檢索法查找關(guān)鍵碼為 K的記錄,若找到則返回其位置, 找不到則返回零.類型說明如下: TYPE node=RECORD Key: integer;Info :datatype END; table=ARRAY[1..n] OF node; FUNCTION binfind(r:table;k:integer):integer;BEGIN Low:=1;hig:=n;_______1_____ WHILE(______2_____)AND(Y=0)DO BEGIN mid : =(low+hig)DIV 2 IF k=r[mid].key THEN y:=mid ELSE IF k>r[mid].key THEN _____3______ ELSE _____4_______ END;Binfind:=y;END;4.修改起泡排序算法,反方向進行掃描,即第一趟把排序碼最小的記錄放到最前頭,第 二趟把排序碼次小的放到第二個位置, 第三趟把排序碼第三小的放到第三個位置, 如此反復(fù)進行.用類pascal語言給出該算法的程序.(類型說明與上面第3小題相同) 5.試編寫一個交換二叉樹T中節(jié)點的左右子樹的類PASCAL語言算法,設(shè)節(jié)點的類型為: TYPE bitree=^node;Node=RECORD Data:datatype;Lchild,rchild:bitree END; 數(shù)據(jù)結(jié)構(gòu)試題8答案 一、1、A 2、D 3、B 4、C 5、B 6、A 7、D 8、C 9、B 10、B 11、B 12、B 13、B 14、A 15、A 二、1、初等,組合 2、存儲密度 3、散列函數(shù)的選取,沖突(碰撞)的解決 4、樹(森)林 5、按關(guān)鍵碼排序 6、1/2Σdi 7、生成樹林 8、相對位置 三、1、B C E 2、B C 3、A B C D 四、1、快速排序是不穩(wěn)定的如對初始類排序碼:81 2 5 82 4 1 經(jīng)第一趟快排后為:〔1 2 5 82 4〕8 1經(jīng)第二趟快排后為: 1 〔2 5 82 4〕81 經(jīng)第三趟快排后為: 1 2 〔5 82 4〕81 經(jīng)第四趟快排后為: 1 2 4 5 8 281 和 82 相對位置發(fā)生了變化 2、由于有了線索的存在而使的周游樹形結(jié)構(gòu)和找結(jié)點在指定次序下的前驅(qū)、后繼的算法變 得很簡單、直截了當(dāng)。 3、關(guān)鍵碼是其值能唯一確定一個記錄的字段或字段組合,兩個記錄的關(guān)鍵碼不可能相等 排序碼是排序運算的依據(jù),是結(jié)構(gòu)中的一個或多個字段,兩個記錄的排序碼可以相同 五、1、I=1 時 WHILE 循環(huán)執(zhí)行 1 次 故總排序時間為:Σ[㏒ 2(i+1)]=Σ[㏒ 2i] I=2 時 WHILE 循環(huán)執(zhí)行 2 次 ≈n㏒ 2 n I=3 時 WHILE 循環(huán)執(zhí)行 2 次 I=4 時 WHILE 循環(huán)執(zhí)行 3 次 I=5,6,7 時 WHILE 循環(huán)執(zhí)行 3 次 I=8 時 WHILE 循環(huán)執(zhí)行 4 次 ? 2、k=n+(n-1)+(n-2)+?+〔n-(i-2)+(j-i+1)〕 =n(i-1)-〔i+2+?+(i-1)〕+j=ni-n-(i+1)(i+2)/2+j=〔i 2 +(2n+3)i〕/2+j-(n+1)所以 f1(i)=〔i 2 +(2n+3)i〕/2;f2(j)=j;c=-(n+1) 3、檢索次數(shù) 平均查找長度為:1/12(1+2*2+3*4+4*5)=37/12 六、1、得到: 2、深度遍歷結(jié)果為:1,2,3,5,4,6,7,83、1、Y=0 2、Low≤High 3、Low:=Mid+1 4、High:=Mid-1 4、VAR R:table;X:node; i,j:integer;flag:0..1; 1.循環(huán),i 以-1 為步長,從 1 到 n-1,執(zhí)行(n-1 次冒泡)(1)flag ← 0 (2)循環(huán),j以-1 為步長,從 n到 i+1 執(zhí)行 若 R〔j〕.key<R〔j-1〕.key 則 flag<-1 x ← R〔j〕;R〔j〕← R〔j-1〕;R〔j-1〕← x(3)若 flag=0 則跳出循環(huán) 2.算法結(jié)束 5、Procedure exchange_lr_node(t:bitree); begin if t=nil then 算法結(jié)束 else begin q ← t ↑.lchild;t↑.lchild←t↑.rchild;t↑.rchild←q; exchange_lr_node(t↑.lchild);exchange_lr_node(t↑.rchild)end;end; 數(shù)據(jù)結(jié)構(gòu)試題9 一.單項選擇題(每小題 1 分,15 分)1.作為一個算法必須滿足:() A.2 個要素 B.4 個要素 C.5 個要素 D.7 個要素 2.雙鏈表中,刪除節(jié)點 P之后的節(jié)點 Q 需要修改的指針域的個數(shù)為:()A.1 B.2 C.3 D.4 3.隊列是一種:() A.鏈表 B.LIFO 表 C.順序表 D.FIFO表 4.串的求子串運算 SUBSTR(‘ABCDEF’,2,3)的引用結(jié)果是:()A. ‘BCD’ B.‘BC’ C.‘CDE’ D.‘CD’ 5.循環(huán)隊列 SQ有 m 個單元,其滿隊條件是:() A.SQ.rear=SQ.front C.SQ.rear MOD M+1=SQ.front B.SQ.rear+1=SQ.front D.SQ.rear =SQ.front MOD M+1 6.在列主序下順序的存儲數(shù)組 A 4 * 4 的上三角元素 A(3,2)的位置是第:()A.10 個 B.7 個 C.6 個 D.5 個 7.廣義表 D=(a,D)的深度為:() A.2 B.1 C.+ D.– 8.有三個節(jié)點 A,B,C 可以構(gòu)成多少種二叉樹:()A.5 B.8 C.32 D.30 9.有 n 個節(jié)點的完全二叉樹,其深度為:() 10.中序序列和后序序列相同的二叉樹是:() A.完全二叉樹 B.滿二叉樹 C.所有結(jié)點無左孩子的二叉樹 D.所有結(jié)點無右孩子的二叉樹 11.若有向圖中有 n 個結(jié)點,e 條邊,則它的鄰接表需要表節(jié)點數(shù)目為:()A.e B.2e C.e-1 D.e+1 12.克魯斯卡爾(KRUSKAL)算法求最小生成樹,是針對那種圖的:()A.無向圖 B.有向圖 C.連通無向圖 D.連通帶權(quán)圖 13.在排序過程中,使用輔助空間為 O(n)的算法是:()A.插入法 B.歸并法 C.快速 D.分配 14.在散列結(jié)構(gòu)中,同義詞是指:() A.R1.KEY≠R2.KEY 且 HASH(RI.KEY)=HASH(R2.KEY) B.R1.KEY=R2.KEY C.R1.KEY=R2.KEY 且 HASH(RI.KEY)=HASH(R2.KEY) D.R1.DATA=R2.DATA 15.ISAM 文件屬于:() A.順序文件 B.散列文件 C.索引文件 D.多關(guān)鍵字文件 二.多項選擇題(錯選,多選,漏選均不得分.每小題 1 分,共 5 分)1.在下列算法中,涉及到棧運算的有:() A.二叉樹的遍歷 B.廣度優(yōu)先搜索遍歷 C.深度優(yōu)先搜索遍歷 D.表達式求值 E.基數(shù)排序 2.排序算法在最壞執(zhí)行情況下,算法的時間復(fù)雜度是 O(n 2)的有:()A.插入排序法 B.塊序排序法 C.堆排序法 D.歸并排序法 E.基數(shù)排序法 3.稀疏矩陣通常采用的存儲方式有:() A.單鏈表 B.循環(huán)鏈表 C.三元組表 D.散列表 E.十字鏈表 4.根據(jù)排序期間數(shù)據(jù)規(guī)模的大小及數(shù)據(jù)所處存儲器的不同,可以將排序分為:()A.插入排序 B.希爾排序 C.交換排序 D.內(nèi)部排序 E.外部排序 5.能夠從任一節(jié)點訪問到其余節(jié)點的結(jié)構(gòu)有:() A.單鏈表 B.循環(huán)鏈表 C.雙鏈表 D.二叉鏈表 E.鄰接表 三.填空題(每空1 分,共10 分) 1.數(shù)據(jù)的基本存儲結(jié)構(gòu)有_________,________,_________,________四種.2.排序方法的穩(wěn)定性是值排序關(guān)鍵字值相同的記錄在排序過程中不改變其原有的 _____________關(guān)系.3.算法的確定性是指每條__________________.4.散列結(jié)構(gòu)中處理沖突的方法基本上可分為兩大類: __________和_________.5.文件的操作主要有:___________和__________兩類.四.判斷改錯題(對的打”√”,錯的打”╳”,并說明理由.每小題 2 分,判斷和說明各得 1 分,判斷3 錯誤,全題無分.共 10分) 1.二叉樹是度為 2 的樹.()2.堆排序是不穩(wěn)定的,其時間復(fù)雜度為 O(n log 2 n).()3.隊列是受限的線性表,限制在于節(jié)點的位置相對固定.()4.要完成樹的層次遍歷一般要利用棧作為輔助結(jié)構(gòu).()5.圖的最小生成樹如果存在,則一般唯一.()五.解釋概念題(每小題 3 分,共 9 分)1.三元組表 2.拓撲排序 3.AVL樹 六.簡答題(共 31分) 1.把下圖森林轉(zhuǎn)化為一棵二叉樹,并畫出主要轉(zhuǎn)化過程圖示.(4 分) 2.給定權(quán)集 W={2,3,4,7,8},試構(gòu)造關(guān)于 W 的一棵哈夫曼樹,并求其加權(quán)路徑長度 WPL 的 值.(6 分) 3.對于下圖給出其鄰接表,并從頂點 1 出發(fā)依據(jù)存儲結(jié)構(gòu)進行廣度遍歷,寫出遍歷結(jié)果.4.有一棵二叉樹其前序序列為 ABCDEF,中序序列為 BCAEDF,畫出此二叉樹的示意圖,并給 出其后序序列的線索樹.(6 分) 5.對于關(guān)鍵字集合{51,28,36,86,7},請建立一個堆,要求畫出堆形成的示意圖.(6 分) 6.在雙鏈表H中,現(xiàn)在要在節(jié)點P之后插入一個節(jié)點Q,請寫出插入動作的具體語句.(4分)七.算法設(shè)計(共20 分) 1.數(shù)組 A[1..m]作為循環(huán)隊列的存儲區(qū)域,試編寫一個出隊的類 PASCAL 語言算法.(6 分)2.利用類 pascal 語言寫出統(tǒng)計二叉樹中節(jié)點個數(shù)的算法(6 分).3.利用類 pascal 語言寫出快速排序中一趟塊排的算法(8 分).數(shù)據(jù)結(jié)構(gòu)試題9答案 一、1、C 2、B 3、D 4、A 5、D 6、B 7、C 8、D 9、A 10、D 11、A 12、D 13、B 14、A 15、C 二、1、A C D 2、A B 3、A C D E 4、D E 5、B C 三、1、順序,鏈接,索引,散列 2、相對位置 3、指令必須有確切含義,無歧義性 4、開地址法,拉鏈法 5、修改,檢索 四、1、× 2、√ 3、× 4、× 5、× 五、1、三元組表 P244 2、拓撲排序 P229 3、AVL樹 P180 六、3、鄰接表存儲表示同 A 卷 六、2 廣度遍歷結(jié)果:1, 2, 6, 3, 4, 7, 8, 5 4、后序:C B E F D A 5、6、q↑.llink←p q↑.rlink←p↑.rlink p↑.rlink↑.llink←q p↑.rlink←q 七、算法設(shè)計(6+6+8=20′)1、1.if R=F then print(‘underflow’)else F←F MOD m+1 算法結(jié)束 2、TYPE pointer=↑node node=RECORD info: datatype;llink, rlink: pointer END VAR t: pointer; Count: integer;進入算法時,二叉樹已用二叉鏈表存儲,t指向根結(jié)點,count初值為 0 Procedure node_Count(t: pointer;VAR count: integer);begin if t=nil then 算法結(jié)束 else begin count:=count+1;node_count(t↑.llink,count);node_count(t↑.rlink,count)end end; 3、TYPE node=RECORD Key: integer;Info: datatype End; List=ARRAP〔1..N〕OF node;VAR X:node;j:0..n; Procedure quickpass(VAR R:list;l,r:integer;VAR i:integer);begini:=l;j:=r;x:=R〔i〕;repeatwhile(R〔i〕.key>=x.key)and(i<j=doj:=j-1;if i<j then R〔j〕:=R〔j〕;i:=i+1; while(R〔i〕.key<=x.key=and(i<j=do i:=i+1;if i<j then 〔R〔j〕:= R〔i〕;j:=j-1〕 until i=j R〔i〕:=x end 注:整個快速排序 Procedure quicksort(VAR R:list;s,t:integer);Begin If s<t Then 〔quickpass(R,s,t,i);quicksort(R,s,i-1);quicksort(R,i+1,t)〕 end; 數(shù)據(jù)結(jié)構(gòu)試題10 一.單項選擇題(每小題 1 分,共 20分) 1.設(shè)n為正整數(shù),以下程序段的執(zhí)行次數(shù)是: () k:=0;s:=1;REPEAT s:=s+k;k:=k+1 UNTIL(k=-n) A.(2n+3)次 B.2(n+1)次 C.無限多次 D.1 次 2.序列 A,B,C,D,E 順序入棧,不能獲得的序列是: () A.ABCDE B.CDEBA C.EDCBA D.DECAB 3.數(shù)據(jù)結(jié)構(gòu)的內(nèi)容包括: ()A.三層次五要素 C.五層次三要素 B.三層次三要素 D.五層次五要素 4.在雙鏈表中要在 p 所指的結(jié)點后插入一個新結(jié)點q,要修改的指針域個數(shù)為:() A.2 個 B.4 個 C.6 個 D.8 個 5.在列主序下順序的存儲數(shù)組 A 4 * 4 的下三角元素 A(3,2)的位置是第: () A.5 個 B.6 個 C.7 個 D.10 個 6.n 個結(jié)點順序存儲的完全二叉樹, i(1 7.對任何二叉樹,設(shè) n0,n1,n2 分別是度數(shù)為 0,1,2的結(jié)點數(shù),則有: () A.n0=n2+1 B.n0=n2-1 C.n0=n1+1 D.n0=n1-1 8.對圖(一)的二叉樹,其后續(xù)遍歷結(jié)果為: () 圖 (一)A.ABDCEF B.ABCDEF C.DBAECF D.DBEFCA 9.結(jié)點可以排在拓撲序列中的圖是: () A.無向圖 B.有向圖 C.有向無環(huán)圖 D.無向有環(huán)圖 10.串的求子串運算 SUBSTR(‘ABCDEFGH’,4,5)的引用結(jié)果是: () A.‘DE’ B.‘DEFGH’ C.‘EFGH’ D.‘BCDE’ 11.對于記錄R1,R2其健值分別是K1和K2,數(shù)據(jù)為D1和D2,稱R1和R2是同義詞的條件是 () A.K1=K2 C.K1=K2且 H(K1)≠H(K2)B.D1=D2 D.K1≠K2 且 H(K1)=H(K2) 12.快速排序?qū)儆? ()A.插入排序 B.交換排序 C.選擇排序 D.歸并排序 13.AVL 數(shù)不平衡后要調(diào)整的情形有: () A.2種 B.4 種 C.6 種 D.8 種 14.PRIM 算法是求圖的: () A.連通分量 B.最短路徑 C.最小生成樹 D.拓撲序列 15.在排序過程序中,使用輔助存儲空間為 O(n)的算法是: () A.插入排序 B.歸并排序 C.起泡排序 D.快速排序 16.若無向圖中有 n 個結(jié)點,e 條邊,則它的鄰接表需要表節(jié)點數(shù)目為: () A.2e B.2e+n C.2e+1 D.e+2n 17.字符串的緊縮存儲形式是每個字符占: ()A.1 個二進制位 B.1 個字節(jié) C.1 個字 D.1 個結(jié)點單元 18.循環(huán)隊列 SQ有 m 個單元,其滿隊條件是: () A.(SQ.rear+1)MOD M=SQ.front C.SQ.rear=m B.SQ.rear=SQ.front D.SQ.front=m 19.VSAM 文件屬于: () A.順序文件 B.散列文件 C.多關(guān)鍵字文件 D.索引文件 20.下列說法中錯誤的是: () B.n 個結(jié)點的有向圖最多有 n*(n-1)條邊 C.用相鄰矩陣存儲圖時所需存儲空間大小與圖中邊數(shù)有關(guān) D.散列表中碰撞的可能性大小與負載因子有關(guān) 二.多項選擇題(錯選,多選,漏選均不得分,每小題 2 分,共 14 分) 1.根據(jù)描述算法的語言不同,可將算法分為: () A.形式算法 B.非形式算法 C.偽語言算法 D.運行終止的程序可執(zhí)行部分 E.運行不終止的程序可執(zhí)行部分 2.圖的常見存儲結(jié)構(gòu)可以選取: ()A.鄰接表 B.鄰接矩陣 C.逆鄰接表 D.鄰接多重表 E.散列表 3.在下列算法中,涉及到棧運算的有: () A.二叉樹遍歷 B.廣度優(yōu)先搜索 C.深度優(yōu)先搜索 D.構(gòu)造哈夫曼樹 E.表達式求值算法 4.某表組織如下:將元素均勻的分成塊,塊內(nèi)元素不排序,塊之間排序,則查找塊及塊內(nèi)某元素實施的方法是: ()A.折半查塊 順序查元素 B.順序查塊 順序查元素 C.順序查塊 折半查元素 D.散列法查找數(shù)據(jù)元素 E.折半查塊 折半查元素 5.能夠從任意節(jié)點出發(fā)訪問到其余結(jié)點的結(jié)構(gòu)有: () A.單鏈表 B.循環(huán)鏈表 C.雙鏈表 D.二叉樹表 E.散列表 6.數(shù)據(jù)的邏輯結(jié)構(gòu)與: () A.數(shù)據(jù)元素本身的形式,內(nèi)容有關(guān) B.數(shù)據(jù)元素本身的形式,內(nèi)容無關(guān) C.數(shù)據(jù)元素的相對位置有關(guān) D.數(shù)據(jù)元素的相對位置無關(guān) E.所含節(jié)點個數(shù)無關(guān) 7.稀疏矩陣通常采用的存儲方式有: () A.單鏈表 B.循環(huán)鏈表 C.三元組 D.散列表 E.正交表 三.判斷說明題(對的打”√”,錯的打”╳”,并說明理由.判斷和說明各得 1 分,判斷錯誤,全題無分.共 10 分) 1.在隊列中,新插入的結(jié)點只能插到隊頭.()2.二叉樹是度數(shù)最大為2 的樹.()3.在哈希表中,相同的關(guān)鍵字散列在不同的地址空間上的現(xiàn)象稱為沖突.()4.堆排序是不穩(wěn)定的,其時間復(fù)雜度為:O(n log2n).()5.完成樹的深度遍歷一般要利用隊列作為輔助結(jié)構(gòu).()四.解釋概念題(每小題 4 分,共 12分)1.AVL 樹 2.稀疏矩陣 3.哈夫曼樹 五.簡答題(每小題 5 分,共 20 分)1.將圖(二)所示二叉樹轉(zhuǎn)化成森林.圖(二) 圖 (三)2.什么是串的壓縮存儲(緊縮格式)? 他有哪些優(yōu)缺點? 3.已知圖G如圖(三)所示,給出其鄰接表,并寫出從1出發(fā)進行深度優(yōu)先和廣度優(yōu)先遍歷的 結(jié)果.4.輸入關(guān)鍵字序列:xal,wan,wil,zdl,yo,xul,yum,試建立建立一棵最佳二叉排序樹.六.綜合應(yīng)用(每小題 12 分,共 24 分) 1.利用類 pascal 語言寫出統(tǒng)計二叉樹中節(jié)點個數(shù)的算法.2.利用類 pascal 語言寫出直接選擇排序的算法.數(shù)據(jù)結(jié)構(gòu)試題10答案 一、1、C 2、D 3、A 4、B 5、C 6、A 7、C 8、A 9、D 10、C 11、B 12、D 13、B 14、B 15、C 16、B 17、B 18、B 19、A 20、D 二、1、B C D 2、A B C D 3、A C E 4、A B 5、B C 6、B D E 7、A C D E或 C D E 三、1、× 對尾 2、× 二叉數(shù)不是樹的特例 3、× 不同,相同 4、√ 5、× 不含任何字符,空白字符 四、1、AVL 樹 2、稀疏矩陣 3、哈夫曼樹 五、1、2、盡可能將串中多個字符存入同一單元的存儲方式,其優(yōu)點是節(jié)省存儲空間,缺點是對某些運算時間加長.3、深度優(yōu)先:1,2,4,5,3,6,7 廣度優(yōu)先:1,2,3,4,5,6,7 4、六、1、TYPE pointer=↑node node=RECORD info: datatype;llink,rlink: pointer end; 進入算法時,二叉樹用二叉鏈表存儲。Count 初值為0 Procedure Count_node(t: pointer;VAR Count: integer);begin If t≠nil then begin Count:=Count+1;Count_node(t↑.llink,Count);Count_node(t↑.rlink,Count)end end; 2、TYPE node=RECORD key: integer;info: datatype end; list: ARRAY〔1..n〕OF node VAR x: node;j: 0..n;以下略 意外門診:理賠申請書 發(fā)票原件 診斷證明書 門診病歷、處方 本人事故經(jīng)過(團單:單位意外事故證明)身份證、銀行卡或存折、保單復(fù)印件 疾病住院:理賠申請書 發(fā)票原件 診斷證明書 病案一套 總費用明細清單 身份證、銀行卡或存折、保單復(fù)印件 (津貼:體溫記錄) 意外住院:理賠申請書 發(fā)票原件 診斷證明書 病案一套 總費用明細清單 意外事故經(jīng)過(團單:單位意外事故證明)身份證、銀行卡或存折、保單復(fù)印件 (津貼:體溫記錄) 意外身故:理賠申請書 醫(yī)學(xué)死亡證明或派出所死亡證明 戶口注銷證明 火化證明或土葬證明 醫(yī)院搶救記錄及相關(guān)材料 身份證及戶口本復(fù)印件 所有法定第一順序受益人戶口本、身份證復(fù)印件受益人確認書 受益人銀行卡或存折復(fù)印件 意外事故經(jīng)過(團單:單位意外事故證明)保單復(fù)印件 (交通事故:交通事故認定書、行駛證、駕駛證) 疾病身故:理賠申請書 醫(yī)學(xué)死亡證明或派出所死亡證明 戶口注銷證明 火化證明或土葬證明 醫(yī)院搶救記錄及相關(guān)材料 身份證及戶口本復(fù)印件 所有法定第一順序受益人戶口本、身份證復(fù)印件 受益人確認書 受益人銀行卡或存折復(fù)印件 保單復(fù)印件 非被保險人遞交材料:授權(quán)委托書(被保險人)、被授權(quán)人身份證復(fù)印件 另外: 理賠款打入單位賬戶的,需提供:理賠款支付聲明(單位出具)、個人委托聲明(被保險人) 考試題目及答案 一、單項選擇題 1、2013年11月9日到12日,中共十八屆三中全會在北京召開,這次全會的主題是(A)。 A、全面深化改革 B、全面深化開放 C、全面改革開放 D、全面深化改革開放 2、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出面對十分復(fù)雜的國際形式和艱巨繁重的國內(nèi)改革發(fā)展穩(wěn)定任務(wù),中央政治局全面貫徹黨的十八大精神,高舉中國特色社會主義偉大旗幟,以鄧小平理論、“三個代表”重要思想、科學(xué)發(fā)展觀為指導(dǎo),團結(jié)帶領(lǐng)全黨全軍全國各族人民,堅持的工作總基調(diào)是(A)。 A、穩(wěn)中求進 B、提質(zhì)增效 C、又快又好 D、多快好省 3、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出面對十分復(fù)雜的國際形式和艱巨繁重的國內(nèi)改革發(fā)展穩(wěn)定任務(wù),中央政治局全面貫徹黨的十八大精神,高舉中國特色社會主義偉大旗幟,以鄧小平理論、“三個代表”重要思想、科學(xué)發(fā)展觀為指導(dǎo),團結(jié)帶領(lǐng)全黨全軍全國各族人民,著力(A)。 A、穩(wěn)增長、調(diào)結(jié)構(gòu)、促改革 B、調(diào)增長、穩(wěn)結(jié)構(gòu)、促改革 C、穩(wěn)增長、促結(jié)構(gòu)、調(diào)改革 D、促增長、調(diào)結(jié)構(gòu)、穩(wěn)改革 4、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全面深化改革,必須高舉中國特色社會主義偉大旗幟,以馬克思列寧主義、毛澤東思想、鄧小平理論、“三個代表”重要思想、科學(xué)發(fā)展觀為指導(dǎo),堅定信心、凝聚共識,統(tǒng)籌謀劃,協(xié)同推進,堅持社會主義市場經(jīng)濟改革方向,以(C)出發(fā)點和落腳點。A、為人民服務(wù) B、立黨為公、執(zhí)政為民 C、為促進社會公平正義、增進人民福祉 D、權(quán)為民所用、利為民所謀、情為民所系 5、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全面深化改革的總目標是(D)。 A、實現(xiàn)中國夢 B、全面建立社會主義市場經(jīng)濟體制 C、實現(xiàn)和完成社會主義四個現(xiàn)代化建設(shè) D、完善和發(fā)展中國特色社會主義制度,推進國家治理體系和治理能力現(xiàn)代化6、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全會指出,深化經(jīng)濟體制改革要緊緊圍繞使市場在資源配置中起(B)。 A、基礎(chǔ)性作用 B、決定性作用 C、關(guān)鍵性作用 D、核心性作用 7、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全會指出,全面深化改革,必須立足于我國長期處于社會主義初級階段這個最大實際,解決我國所有問題的關(guān)鍵是(B)。 A、堅持創(chuàng)新 B、堅持發(fā)展 C、堅持改革 D、堅持開放 8、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全面深化改革的重點是(B)。 A、政治體制改革 B、經(jīng)濟體制改革 C、文化體制改革 D、社會體制改革 9、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出指出,經(jīng)濟體制改革是全面深化改革的重點,核心問題是(B)。A、處理好政府和市場的關(guān)系,使政府在資源配置中起決定性作用和更好發(fā)揮市場作用 B、處理好政府和市場的關(guān)系,使市場在資源配置中起決定性作用和更好發(fā)揮政府作用 C、處理好政府和市場的關(guān)系,使政府在資源配置中起基礎(chǔ)性作用和更好發(fā)揮市場作用 D、處理好政府和市場的關(guān)系,使市場在資源配置中起基礎(chǔ)性作用和更好發(fā)揮政府作用 10、2013年11月12日,中共十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》提出,國家治理的基礎(chǔ)和重要支柱是(B)。 A、稅收 B、財政 C、科技 D、經(jīng)濟 二、多項選擇題 1、黨的十一屆三中全會召開三十五年來,我們黨以巨大的政治勇氣,銳意推進經(jīng)濟體制、政治體制、文化體制、社會體制、生態(tài)文明體制和黨的建設(shè)制度改革,不斷擴大開放,決心之大、變革之深、影響之廣前所未有,成就舉世矚目。下列對于改革開放的說法,正確的有(ABC)。 A、改革開放是黨在新的時代條件下帶領(lǐng)全國各族人民進行的新的偉大革命,是當(dāng)代中國最鮮明的特色 B、改革開放最主要的成果是開創(chuàng)和發(fā)展了中國特色社會主義,為社會主義現(xiàn)代化建設(shè)提供了強大動力和有力保障。 C、改革開放是決定當(dāng)代中國命運的關(guān)鍵抉擇,是黨和人民事業(yè)大踏步趕上時代的重要法寶。 D、改革不是對原有制度作細枝末節(jié)的修改,而是要對已經(jīng)建立的制度作根本性變革 2、十八屆三中全會強調(diào),全面深化改革,必須高舉中國特色社會主義偉大旗幟,以馬克思列寧主義、毛澤東思想、鄧小平理論、“三個代表”重要思想、科學(xué)發(fā)展觀為指導(dǎo),堅定信心,凝聚共識,統(tǒng)籌謀劃,協(xié)同推進,堅持社會主義市場經(jīng)濟改革方向,以促進社會公平正義、增進人民福祉為出發(fā)點和落腳點,進一步(BCD)。 A、解放市場 B、解放思想 C、解放和發(fā)展社會生產(chǎn)力 D、解放和增強社會活力 3、十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全面深化改革的總目標是(C D)。 A、到建黨100周年,建成全面小康社會 B、到建國100周年,實現(xiàn)現(xiàn)代化,實現(xiàn)中華民族偉大復(fù)興 C、完善和發(fā)展中國特色社會主義制度 D、推進國家治理體系和治理能力現(xiàn)代化 4、十八屆三中全會通過的《中共中央關(guān)于全面深化改革若干重大問題的決定》指出全面深化改革的總目標是完善和發(fā)展中國特色社會主義制度,推進國家治理體系和治理能力現(xiàn)代化,必須更加注重改革的(ABC)。 A、系統(tǒng)性 B、整體性 C、協(xié)同性 D、全面性 5、十八屆三中全會指出,要緊緊圍繞使市場在資源配置中起決定性作用深化經(jīng)濟體制改革,要緊緊圍繞堅持黨的領(lǐng)導(dǎo)、人民當(dāng)家作主、依法治國有機統(tǒng)一深化政治體制改革以外,除此,還要緊緊圍繞(ABCD)。 A、建設(shè)社會主義核心價值體系、社會主義文化強國深化文化體制改革 B、更好保障和改善民生、促進社會公平正義深化社會體制改革 C、建設(shè)美麗中國深化生態(tài)文明體制改革 D、提高科學(xué)執(zhí)政、民主執(zhí)政、依法執(zhí)政水平深化黨的建設(shè)制度改革 6、十八屆三中全會指出,全會要求,到2020年,要(ABD)。 A、在重要領(lǐng)域和關(guān)鍵環(huán)節(jié)改革上取得決定性成果 B、形成系統(tǒng)完備、科學(xué)規(guī)范、運行有效的制度體系 C、實現(xiàn)現(xiàn)代化,實現(xiàn)中國夢 D、使各方面制度更加成熟更加定型。 7、十八屆三中全會指出,改革開放的成功實踐為全面深化改革提供了重要的經(jīng)驗,必須長期堅持。最重要的是,堅持(ABCD)。 A、黨的領(lǐng)導(dǎo),貫徹黨的基本路線,不走封閉僵化的老路,不走改旗易幟的邪路,堅定走中國特色社會主義道路,始終確保改革正確方向 B、解放思想、實事求是、與時俱進、求真務(wù)實,一切從實際出發(fā),總結(jié)國內(nèi)成功做法,借鑒國外有益經(jīng)驗,勇于推進理論和實踐創(chuàng)新 C、以人為本,尊重人民主體地位,發(fā)揮群眾首創(chuàng)精神,緊緊依靠人民推動改革,促進人的全面發(fā)展 D、政府處理改革發(fā)展穩(wěn)定關(guān)系,膽子要大、步子要穩(wěn),加強頂層設(shè)計和摸著石頭過河相結(jié)合,整體推進和重點突破相促進,提高改革決策科學(xué)性,廣泛凝聚 共識,形成改革合力 8、十八屆三中全會指出,公有制經(jīng)濟和非公有制經(jīng)濟都是社會主義市場經(jīng)濟的重要組成部分,都是我國經(jīng)濟社會發(fā)展的重要基礎(chǔ)。必須(ABCD)。 A、毫不動搖鞏固和發(fā)展公有制經(jīng)濟,堅持公有制主體地位,發(fā)揮國有經(jīng)濟主導(dǎo)作用,不斷增強國有經(jīng)濟活力、控制力、影響力 B、毫不動搖鼓勵、支持、引導(dǎo)非公有制經(jīng)濟發(fā)展,激發(fā)非公有制經(jīng)濟活力和創(chuàng)造力 C、完善產(chǎn)權(quán)保護制度,積極發(fā)展混合所有制經(jīng)濟 D、推動國有企業(yè)完善現(xiàn)代企業(yè)制度,支持非公有制經(jīng)濟健康發(fā)展 9、十八屆三中全會指出,科學(xué)的宏觀調(diào)控,有效的政府治理,是發(fā)揮社會主義市場經(jīng)濟體制優(yōu)勢的內(nèi)在要求。必須(ABCD)。 A、切實轉(zhuǎn)變政府職能,深化行政體制改革 B、創(chuàng)新行政管理方式,增強政府公信力和執(zhí)行力 C、建設(shè)法制政府和服務(wù)型政府 D、要健全宏觀調(diào)控體系,全面正確履行政府職能,優(yōu)化政府組織結(jié)構(gòu),提高科學(xué)管理水平 10、十八屆三中全會指出,堅持用制度管權(quán)管事管人,讓人民監(jiān)督權(quán)力,讓權(quán)力在陽光下運行,是把權(quán)力關(guān)進制度籠子的根本之策。必須(ABCD)。 A、構(gòu)建決策科學(xué)、執(zhí)行堅決、監(jiān)督有力的運行體系 B、健全懲治和預(yù)防腐敗體系,建設(shè)廉潔政治,努力實現(xiàn)干部清正、政府清廉、政治清明 C、形成科學(xué)有效的權(quán)力制約和協(xié)調(diào)機制 D、加強反腐敗體制機制創(chuàng)新和制度保障,健全改進作風(fēng)常態(tài)化制度 三、判斷題 1、十八屆三中全會指出,全面深化改革,堅持發(fā)展仍是解決我國所有問題的關(guān)鍵這個重大戰(zhàn)略判斷,以經(jīng)濟建設(shè)為中心,發(fā)揮經(jīng)濟體制改革牽引作用,推動生產(chǎn)關(guān)系同生產(chǎn)力、上層建筑同經(jīng)濟基礎(chǔ)相適應(yīng),推動經(jīng)濟社會持續(xù)健康發(fā)展。必須立足于我國的這個最大實際是我國長期處于社會主義初級階段(√)。 2、我國社會主義民主政治的特有形式和獨特優(yōu)勢,是黨的群眾路線在政治領(lǐng)域的重要體現(xiàn),是基層民主(×)。 3、黨的十八屆三中全會明確指出,全面深化改革的總目標是:完善和發(fā)展中國特色社會主義制度,推進國家治理體系和治理能力現(xiàn)代化。(√) 4、中國夢的本質(zhì)內(nèi)涵是國家富強、民主發(fā)展、人民幸福。(×) 5、國家治理體系指的是國家在治理經(jīng)濟、政治、文化、社會、生態(tài)等形成的制度體系。(√) 1、某制劑生產(chǎn)線項目,其項目固廢污染防治措施應(yīng)重點關(guān)注的問題?? 答:典型制劑生產(chǎn)線項目產(chǎn)生的固體廢物,主要為少量的廢棄包裝材料和碎玻璃瓶。同時,應(yīng)關(guān)注藥品分裝企業(yè)潔凈廠房空氣凈化系統(tǒng)定期更換的活性炭纖維等空氣過濾介質(zhì)。 (1)首先關(guān)注包裝及貯存場所污染防治措施:根據(jù)固體廢物產(chǎn)生量、轉(zhuǎn)運周期、貯存期限等分析、判斷固體廢物貯存場所的面積是否滿足貯存需求。根據(jù)《一般工業(yè)固體廢物貯存、處置場污染控制標準》(GB18599-2001)、《危險廢物貯存污染控制標準》(GB18597-2001)等規(guī)定要求,評價各類固體廢物是否按照相關(guān)要求分類收集貯存,包裝容器是否符合規(guī)定、固體廢物貯存場所建設(shè)是否達到國家相關(guān)標準規(guī)定要求。 (2)重點關(guān)注固廢污染防治措施的技術(shù)先進性、經(jīng)濟合理性及運行可靠性,特別是廢棄包裝材料等危險廢物的處理處置方式,嚴格執(zhí)行危險廢物轉(zhuǎn)移聯(lián)單制度,對危險廢物轉(zhuǎn)移進行全過程的管理。另外,改擴建及異地搬遷項目需說明現(xiàn)有工程固體廢物特別是危險廢物的處置措施情況、存在的環(huán)境保護問題及擬采取的整改措施等內(nèi)容。 2、重大危險源辨識是環(huán)境風(fēng)險評價中的重要內(nèi)容之一,試說明其目的和基本方法?? 答:(1)目的:通過對重大危險源進行辨識,可以確定哪些是可能發(fā)生事故的潛在危險源。重大危險源總是涉及到易燃、易爆、有毒的危害物質(zhì),并且在一定范圍內(nèi)使用、生產(chǎn)、加工、儲,存超過了臨界數(shù)量的這些物質(zhì)??刂浦卮笪kU源不僅僅可以預(yù)防重大事故的發(fā)生,而且一旦發(fā)生事故,能夠?qū)⑹鹿氏拗频阶畹统潭?,或者說能夠控制到人們可接受的程度。對重大危險源進行辨識后,對項目進行風(fēng)險評價。 (2)基本方法:通過分析廠內(nèi)長期或臨時生產(chǎn)、加工、運輸、使用或貯存的危險物質(zhì),包括毒性物質(zhì)、易燃物質(zhì)以及爆炸性物質(zhì)等,生產(chǎn)場所最大存在量、廠內(nèi)最大貯存量以及綜合量,對比《重大危險源識別》(GB18218-2009)和《建設(shè)項目環(huán)境風(fēng)險評價技術(shù)導(dǎo)則》(HJ/T169-2004)中規(guī)定的臨界量,判斷如下: ①單元內(nèi)存在的危險化學(xué)品為單一品種,則該危險化學(xué)品的數(shù)量即為單元內(nèi)危險化學(xué)品的總量,若等于或超過相應(yīng)的臨界量,則定為重大危險源。②單元內(nèi)存在的危險化學(xué)品為多品種時,則按下式計算,若滿足下式,則定為重大危險源: q1/Q1+q2/Q2+…+qn/Qn≧1 式中: q1,q2,…,qn———每種危險化學(xué)品實際存在量,單位為噸(t); Q1,Q2,…,Qn———與各危險化學(xué)品相對應(yīng)的臨界量,單位為噸(t)。 3、石化項目地下水污染防滲分區(qū)的原則是什么?舉例說明污染防治分區(qū)?? 答:1.原則:將石化項目廠區(qū)是否為隱蔽工程、發(fā)生物料泄漏是否容易發(fā)現(xiàn)和能否及時得到處理作為防滲分區(qū)的原則。2.通常將石化企業(yè)廠區(qū)劃分為: (1)重點污染防治區(qū),指對地下水環(huán)境有污染的物料或污染物泄漏后,不能發(fā)現(xiàn)和處理的區(qū)域或部位,為隱蔽工程區(qū)。如埋地管道、地下容器、儲罐及設(shè)備,(半)地下污水池、油品儲罐的罐基礎(chǔ)等,這些區(qū)域或部位一旦出現(xiàn)設(shè)備腐蝕穿孔、地基下陷造成管道變形、罐基礎(chǔ)變形等情況,就會發(fā)生物料或污染物泄漏,滲入土壤并最終進入地下水,從而對地下水環(huán)境造成污染。 (2)一般污染防治區(qū),指對地下水環(huán)境有污染的物料或污染物泄漏后,容易發(fā)現(xiàn)和可及時處理的區(qū)域或部位,為裸露工程區(qū)。如架空設(shè)備、容器、管道,地面明溝等,這些設(shè)備、區(qū)域發(fā)生損壞,造成物料或污染物泄漏后,可及時被發(fā)現(xiàn)或發(fā)出報警,泄漏出來的物料和污染物短時間內(nèi)會聚集在地面上,采取緊急處理措施后,不會大量滲入土壤對地下水環(huán)境造成污 染。(3)非污染防治區(qū),指沒有污染物泄漏或泄漏物不會對地下水環(huán)境造成污染的區(qū)域或部位。主要包括石化企業(yè)的管理區(qū)、集中控制區(qū)等輔助區(qū)域,石化企業(yè)裝置區(qū)以外系統(tǒng)管廊區(qū)(除系統(tǒng)管廊集中閥門區(qū)的地面外)的地面和雨水明溝(長期處于無水狀態(tài))等。 數(shù)據(jù)結(jié)構(gòu)試卷 (二)一、選擇題(24分)1.下面關(guān)于線性表的敘述錯誤的是()。 (A)線性表采用順序存儲必須占用一片連續(xù)的存儲空間 (B)線性表采用鏈式存儲不必占用一片連續(xù)的存儲空間(C)線性表采用鏈式存儲便于插入和刪除操作的實現(xiàn)(D)線性表采用順序存儲便于插入和刪除操作的實現(xiàn) 2.設(shè)哈夫曼樹中的葉子結(jié)點總數(shù)為m,若用二叉鏈表作為存儲結(jié)構(gòu),則該哈夫曼樹中總共有()個空指針域。 (A)2m-1(B)2m(C)2m+1(D)4m 3.設(shè)順序循環(huán)隊列Q[0:M-1]的頭指針和尾指針分別為F和R,頭指針F總是指向隊頭元素的前一位置,尾指針R總是指向隊尾元素的當(dāng)前位置,則該循環(huán)隊列中的元素個數(shù)為()。 (A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M 4.設(shè)某棵二叉樹的中序遍歷序列為ABCD,前序遍歷序列為CABD,則后序遍歷該二叉樹得到序列為()。 (A)BADC(B)BCDA(C)CDAB(D)CBDA 5.設(shè)某完全無向圖中有n個頂點,則該完全無向圖中有()條邊。 (A)n(n-1)/2(B)n(n-1)(C)n 2(D)n2-1 6.設(shè)某棵二叉樹中有2000個結(jié)點,則該二叉樹的最小高度為()。 (A)9(B)10(C)11(D)12 7.設(shè)某有向圖中有n個頂點,則該有向圖對應(yīng)的鄰接表中有()個表頭結(jié)點。 (A)n-1(B)n(C)n+1(D)2n-1 8.設(shè)一組初始記錄關(guān)鍵字序列(5,2,6,3,8),以第一個記錄關(guān)鍵字5為基準進行一趟快速排序的結(jié)果為()。 (A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,6,8(D)2,3,6,5,8 二、填空題(24分)1.1.為了能有效地應(yīng)用HASH查找技術(shù),必須解決的兩個問題是____________________和__________________________。 2.2.下面程序段的功能實現(xiàn)數(shù)據(jù)x進棧,要求在下劃線處填上正確的語句。 typedef struct {int s[100];int top;} sqstack;void push(sqstack &stack,int x){ if(stack.top==m-1)printf(“overflow”); else {____________________;_________________;} } 3.3.中序遍歷二叉排序樹所得到的序列是___________序列(填有序或無序)。4.4.快速排序的最壞時間復(fù)雜度為___________,平均時間復(fù)雜度為__________。5.5.設(shè)某棵二叉樹中度數(shù)為0的結(jié)點數(shù)為N0,度數(shù)為1的結(jié)點數(shù)為N1,則該二叉樹中度數(shù)為2的結(jié)點數(shù)為_________;若采用二叉鏈表作為該二叉樹的存儲結(jié)構(gòu),則該二叉樹中共有_______個空指針域。 6.6.設(shè)某無向圖中頂點數(shù)和邊數(shù)分別為n和e,所有頂點的度數(shù)之和為d,則e=_______。 7.7.設(shè)一組初始記錄關(guān)鍵字序列為(55,63,44,38,75,80,31,56),則利用篩選法建立的初始堆為___________________________。 v1??3??2??4v2??1??3v3??1??4??28.8.設(shè)某無向圖G的鄰接表為v4??1??3,則從頂點V1開始的深度優(yōu)先遍歷序列為___________;廣度優(yōu)先遍歷序列為____________。 三、應(yīng)用題(36分)1. 1. 設(shè)一組初始記錄關(guān)鍵字序列為(45,80,48,40,22,78),則分別給出第4趟簡單選擇排序和第4趟直接插入排序后的結(jié)果。 2. 2. 設(shè)指針變量p指向雙向鏈表中結(jié)點A,指針變量q指向被插入結(jié)點B,要求給出在結(jié)點A的后面插入結(jié)點B的操作序列(設(shè)雙向鏈表中結(jié)點的兩個指針域分別為llink和rlink)。 3. 3. 設(shè)一組有序的記錄關(guān)鍵字序列為(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求計算出查找關(guān)鍵字62時的比較次數(shù)并計算出查找成功時的平均查找長度。 4. 4. 設(shè)一棵樹T中邊的集合為{(A,B),(A,C),(A,D),(B,E),(C,F(xiàn)),(C,G)},要求用孩子兄弟表示法(二叉鏈表)表示出該樹的存儲結(jié)構(gòu)并將該樹轉(zhuǎn)化成對應(yīng)的二叉樹。5. 5. 設(shè)有無向圖G(如右圖所示),要求給出用普里姆算法構(gòu)造最小生成樹所走過的邊的集合。 6. 6. 設(shè)有一組初始記錄關(guān)鍵字為(45,80,48,40,22,78),要求構(gòu)造一棵二叉排序樹并給出構(gòu)造過程。 數(shù)據(jù)結(jié)構(gòu)試卷 (二)參考答案 一、選擇題 1.D 2.B 3.C 4.A 5.A 6.C 7.B 8.C 二、填空題 1.1.構(gòu)造一個好的HASH函數(shù),確定解決沖突的方法 2.2.stack.top++,stack.s[stack.top]=x 3.3.有序 4.4.O(n2),O(nlog2n)5.5.N0-1,2N0+N1 6.6.d/2 7.7.(31,38,54,56,75,80,55,63)8.8.(1,3,4,2),(1,3,2,4) 三、應(yīng)用題 1.1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.2.q->llink=p;q->rlink=p->rlink;p->rlink->llink=q;p->rlink=q;3.3.2,ASL=91*1+2*2+3*4+4*2)=25/9 4.4.樹的鏈式存儲結(jié)構(gòu)略,二叉樹略 5.5.E={(1,3),(1,2),(3,5),(5,6),(6,4)} 6.6.略 數(shù)據(jù)結(jié)構(gòu)試卷 (三)一、選擇題(30分)1.設(shè)某數(shù)據(jù)結(jié)構(gòu)的二元組形式表示為A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},則數(shù)據(jù)結(jié)構(gòu)A是()。 (A)線性結(jié)構(gòu)(B)樹型結(jié)構(gòu)(C)物理結(jié)構(gòu)(D)圖型結(jié)構(gòu) 2.下面程序的時間復(fù)雜為() for(i=1,s=0; i<=n; i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}(A)O(n)(B)O(n2)(C)O(n3)(D)O(n4)3.設(shè)指針變量p指向單鏈表中結(jié)點A,若刪除單鏈表中結(jié)點A,則需要修改指針的操作序列為()。 (A)q=p->next;p->data=q->data;p->next=q->next;free(q);(B)q=p->next;q->data=p->data;p->next=q->next;free(q); (C)q=p->next;p->next=q->next;free(q); (D)q=p->next;p->data=q->data;free(q); 4.設(shè)有n個待排序的記錄關(guān)鍵字,則在堆排序中需要()個輔助記錄單元。 (A)1(B)n(C)nlog2n(D)n2 5.設(shè)一組初始關(guān)鍵字記錄關(guān)鍵字為(20,15,14,18,21,36,40,10),則以20為基準記錄的一趟快速排序結(jié)束后的結(jié)果為()。(A)10,15,14,18,20,36,40,21(B)10,15,14,18,20,40,36,21(C)10,15,14,20,18,40,36,2l(D)15,10,14,18,20,36,40,21 6.設(shè)二叉排序樹中有n個結(jié)點,則在二叉排序樹的平均平均查找長度為()。(A)O(1)(B)O(log2n)(C)(D)O(n)7.設(shè)無向圖G中有n個頂點e條邊,則其對應(yīng)的鄰接表中的表頭結(jié)點和表結(jié)點的個數(shù)分別為()。 (A)n,e(B)e,n(C)2n,e(D)n,2e 8.設(shè)某強連通圖中有n個頂點,則該強連通圖中至少有()條邊。 (A)n(n-1)(B)n+1(C)n(D)n(n+1)9.設(shè)有5000個待排序的記錄關(guān)鍵字,如果需要用最快的方法選出其中最小的10個記錄關(guān)鍵字,則用下列()方法可以達到此目的。 (A)快速排序(B)堆排序(C)歸并排序(D)插入排序 10.下列四種排序中()的空間復(fù)雜度最大。 (A)插入排序(B)冒泡排序(C)堆排序(D)歸并排序 二、填空殖(48分,其中最后兩小題各6分)1.1.數(shù)據(jù)的物理結(jié)構(gòu)主要包括_____________和______________兩種情況。 2.2.設(shè)一棵完全二叉樹中有500個結(jié)點,則該二叉樹的深度為__________;若用二叉鏈表作為該完全二叉樹的存儲結(jié)構(gòu),則共有___________個空指針域。 3.3.設(shè)輸入序列為1、2、3,則經(jīng)過棧的作用后可以得到___________種不同的輸出序列。 4.4.設(shè)有向圖G用鄰接矩陣A[n][n]作為存儲結(jié)構(gòu),則該鄰接矩陣中第i行上所有元素之和等于頂點i的________,第i列上所有元素之和等于頂點i的________。 5.5.設(shè)哈夫曼樹中共有n個結(jié)點,則該哈夫曼樹中有________個度數(shù)為1的結(jié)點。6.6.設(shè)有向圖G中有n個頂點e條有向邊,所有的頂點入度數(shù)之和為d,則e和d的關(guān)系為_________。 7.7.__________遍歷二叉排序樹中的結(jié)點可以得到一個遞增的關(guān)鍵字序列(填先序、中序或后序)。 8.8.設(shè)查找表中有100個元素,如果用二分法查找方法查找數(shù)據(jù)元素X,則最多需要比較________次就可以斷定數(shù)據(jù)元素X是否在查找表中。 9.9.不論是順序存儲結(jié)構(gòu)的棧還是鏈式存儲結(jié)構(gòu)的棧,其入棧和出棧操作的時間復(fù)雜度均為____________。 10.10.設(shè)有n個結(jié)點的完全二叉樹,如果按照從自上到下、從左到右從1開始順序編號,則第i個結(jié)點的雙親結(jié)點編號為____________,右孩子結(jié)點的編號為___________。11.11.設(shè)一組初始記錄關(guān)鍵字為(72,73,71,23,94,16,5),則以記錄關(guān)鍵字72為基準的一趟快速排序結(jié)果為___________________________。 12.12.設(shè)有向圖G中有向邊的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},則該圖的一種拓撲序列為____________________。 13.13.下列算法實現(xiàn)在順序散列表中查找值為x的關(guān)鍵字,請在下劃線處填上正確的語句。 struct record{int key;int others;};int hashsqsearch(struct record hashtable[ ],int k){ int i,j;j=i=k % p;while(hashtable[j].key!=k&&hashtable[j].flag!=0){j=(____)%m;if(i==j)return(-1);} if(_______________________)return(j);else return(-1);} 14.14.下列算法實現(xiàn)在二叉排序樹上查找關(guān)鍵值k,請在下劃線處填上正確的語句。 typedef struct node{int key;struct node *lchild;struct node *rchild;}bitree;bitree *bstsearch(bitree *t, int k){ if(t==0)return(0);else while(t!=0)if(t->key==k)_____________;else if(t->key>k)t=t->lchild;else_____________;} 數(shù)據(jù)結(jié)構(gòu)試卷 (三)參考答案 一、選擇題 1.B 2.B 3.A 4.A 5.A 6.B 7.D 8.C 9.B 10.D 第3小題分析:首先用指針變量q指向結(jié)點A的后繼結(jié)點B,然后將結(jié)點B的值復(fù)制到結(jié)點A中,最后刪除結(jié)點B。 第9小題分析:9快速排序、歸并排序和插入排序必須等到整個排序結(jié)束后才能夠求出最小的10個數(shù),而堆排序只需要在初始堆的基礎(chǔ)上再進行10次篩選即可,每次篩選的時間復(fù)雜度為O(log2n)。 二、填空題 1.1.順序存儲結(jié)構(gòu)、鏈式存儲結(jié)構(gòu) 2.2.9,501 3.3.5 4.4.出度,入度 5.5.0 6.6.e=d 7.7.中序 8.8.7 9.9.O(1)10.10.i/2,2i+1 11.11.(5,16,71,23,72,94,73)12.12.(1,4,3,2)13.13.j+1,hashtable[j].key==k 14.14.return(t),t=t->rchild 第8小題分析:二分查找的過程可以用一棵二叉樹來描述,該二叉樹稱為二叉判定樹。在有序表上進行二分查找時的查找長度不超過二叉判定樹的高度1+log2n。 } 數(shù)據(jù)結(jié)構(gòu)試卷 (四)一、選擇題(30分)1.設(shè)一維數(shù)組中有n個數(shù)組元素,則讀取第i個數(shù)組元素的平均時間復(fù)雜度為()。(A)O(n)(B)O(nlog2n)(C)O(1)(D)O(n)2.設(shè)一棵二叉樹的深度為k,則該二叉樹中最多有()個結(jié)點。 (A)2k-1(B)2k(C)2k-1(D)2k-1 3.設(shè)某無向圖中有n個頂點e條邊,則該無向圖中所有頂點的入度之和為()。 (A)n(B)e(C)2n(D)2e 4.在二叉排序樹中插入一個結(jié)點的時間復(fù)雜度為()。 (A)O(1)(B)O(n)(C)O(log2n)(D)O(n2)5.設(shè)某有向圖的鄰接表中有n個表頭結(jié)點和m個表結(jié)點,則該圖中有()條有向邊。 (A)n(B)n-1(C)m(D)m-1 6.設(shè)一組初始記錄關(guān)鍵字序列為(345,253,674,924,627),則用基數(shù)排序需要進行()趟的分配和回收才能使得初始關(guān)鍵字序列變成有序序列。 (A)3(B)4(C)5(D)8 7.設(shè)用鏈表作為棧的存儲結(jié)構(gòu)則退棧操作()。 (A)必須判別棧是否為滿(B)必須判別棧是否為空 (C)判別棧元素的類型(D)對棧不作任何判別 8.下列四種排序中()的空間復(fù)雜度最大。 (A)快速排序(B)冒泡排序(C)希爾排序(D)堆 9.設(shè)某二叉樹中度數(shù)為0的結(jié)點數(shù)為N0,度數(shù)為1的結(jié)點數(shù)為Nl,度數(shù)為2的結(jié)點數(shù)為N2,則下列等式成立的是()。 (A)N0=N1+1(B)N0=Nl+N2(C)N0=N2+1(D)N0=2N1+l 10.設(shè)有序順序表中有n個數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過()。 (A)log2n+1(B)log2n-1(C)log2n(D)log2(n+1) 二、填空題(42分)1. 1. 設(shè)有n個無序的記錄關(guān)鍵字,則直接插入排序的時間復(fù)雜度為________,快速排序的平均時間復(fù)雜度為_________。 2. 2. 設(shè)指針變量p指向雙向循環(huán)鏈表中的結(jié)點X,則刪除結(jié)點X需要執(zhí)行的語句序列為_________________________________________________________(設(shè)結(jié)點中的兩個指針域分別為llink和rlink)。3. 3. 根據(jù)初始關(guān)鍵字序列(19,22,01,38,10)建立的二叉排序樹的高度為____________。4. 4. 深度為k的完全二叉樹中最少有____________個結(jié)點。5. 5. 設(shè)初始記錄關(guān)鍵字序列為(K1,K2,…,Kn),則用篩選法思想建堆必須從第______個元素開始進行篩選。 6. 6. 設(shè)哈夫曼樹中共有99個結(jié)點,則該樹中有_________個葉子結(jié)點;若采用二叉鏈表作為存儲結(jié)構(gòu),則該樹中有_____個空指針域。 7. 7. 設(shè)有一個順序循環(huán)隊列中有M個存儲單元,則該循環(huán)隊列中最多能夠存儲________個隊列元素;當(dāng)前實際存儲________________個隊列元素(設(shè)頭指針F指向當(dāng)前隊頭元素的前一個位置,尾指針指向當(dāng)前隊尾元素的位置)。 8. 8. 設(shè)順序線性表中有n個數(shù)據(jù)元素,則第i個位置上插入一個數(shù)據(jù)元素需要移動表中_______個數(shù)據(jù)元素;刪除第i個位置上的數(shù)據(jù)元素需要移動表中_______個元素。9. 9. 設(shè)一組初始記錄關(guān)鍵字序列為(20,18,22,16,30,19),則以20為中軸的一趟快速排序結(jié)果為______________________________。 10.10.設(shè)一組初始記錄關(guān)鍵字序列為(20,18,22,16,30,19),則根據(jù)這些初始關(guān)鍵字序列建成的初始堆為________________________。 11.11.設(shè)某無向圖G中有n個頂點,用鄰接矩陣A作為該圖的存儲結(jié)構(gòu),則頂點i和頂點j互為鄰接點的條件是______________________。 12.12.設(shè)無向圖對應(yīng)的鄰接矩陣為A,則A中第i上非0元素的個數(shù)_________第i列上非0元素的個數(shù)(填等于,大于或小于)。 13.13.設(shè)前序遍歷某二叉樹的序列為ABCD,中序遍歷該二叉樹的序列為BADC,則后序遍歷該二叉樹的序列為_____________。 14.14.設(shè)散列函數(shù)H(k)=k mod p,解決沖突的方法為鏈地址法。要求在下列算法劃線處填上正確的語句完成在散列表hashtalbe中查找關(guān)鍵字值等于k的結(jié)點,成功時返回指向關(guān)鍵字的指針,不成功時返回標志0。 typedef struct node {int key;struct node *next;} lklist;void createlkhash(lklist *hashtable[ ]){ int i,k;lklist *s;for(i=0;i 數(shù)據(jù)結(jié)構(gòu)試卷 (四)參考答案 一、選擇題 1.C 2.D 3.D 4.B 5.C 6.A 7.B 8.A 9.C 10.A 二、填空題 1.1.O(n2),O(nlog2n)2.2.p>llink->rlink=p->rlink;p->rlink->llink=p->rlink 3.3.3 4.4.2k-1 5.5.n/2 6.6.50,51 7.7.m-1,(R-F+M)%M 8.8.n+1-i,n-i 9.9.(19,18,16,20,30,22)10.10.(16,18,19,20,32,22)11.11.A[i][j]=1 12.12.等于 13.13.BDCA 14.14.hashtable[i]=0,hashtable[k]=s 數(shù)據(jù)結(jié)構(gòu)試卷 (五)一、選擇題(30分) 1.?dāng)?shù)據(jù)的最小單位是()。 (A)數(shù)據(jù)項(B)數(shù)據(jù)類型(C)數(shù)據(jù)元素(D)數(shù)據(jù)變量 2.設(shè)一組初始記錄關(guān)鍵字序列為(50,40,95,20,15,70,60,45),則以增量d=4的一趟希爾排序結(jié)束后前4條記錄關(guān)鍵字為()。 (A)40,50,20,95(B)15,40,60,20(C)15,20,40,45(D)45,40,15,20 3.設(shè)一組初始記錄關(guān)鍵字序列為(25,50,15,35,80,85,20,40,36,70),其中含有5個長度為2的有序子表,則用歸并排序的方法對該記錄關(guān)鍵字序列進行一趟歸并后的結(jié)果為()。 (A)15,25,35,50,20,40,80,85,36,70(B)15,25,35,50,80,20,85,40,70,36(C)15,25,35,50,80,85,20,36,40,70(D)15,25,35,50,80,20,36,40,70,85 4.函數(shù)substr(“DATASTRUCTURE”,5,9)的返回值為()。 (A)“STRUCTURE”(B)“DATA” (C)“ASTRUCTUR”(D)“DATASTRUCTURE” 5.設(shè)一個有序的單鏈表中有n個結(jié)點,現(xiàn)要求插入一個新結(jié)點后使得單鏈表仍然保持有序,則該操作的時間復(fù)雜度為()。 (A)O(log2n)(B)O(1)(C)O(n2)(D)O(n)6.設(shè)一棵m叉樹中度數(shù)為0的結(jié)點數(shù)為N0,度數(shù)為1的結(jié)點數(shù)為Nl,……,度數(shù)為m的結(jié)點數(shù)為Nm,則N0=()。 (A)Nl+N2+……+Nm (B)l+N2+2N3+3N4+……+(m-1)Nm(C)N2+2N3+3N4+……+(m-1)Nm(D)2Nl+3N2+……+(m+1)Nm 7.設(shè)有序表中有1000個元素,則用二分查找查找元素X最多需要比較()次。 (A)25(B)10(C)7(D)1 8.設(shè)連通圖G中的邊集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點a出發(fā)可以得到一種深度優(yōu)先遍歷的頂點序列為()。 (A)abedfc(B)acfebd(C)aebdfc(D)aedfcb 9.設(shè)輸入序列是1、2、3、……、n,經(jīng)過棧的作用后輸出序列的第一個元素是n,則輸出序列中第i個輸出元素是()。 (A)n-i(B)n-1-i(C)n+1-i(D)不能確定 設(shè)一組初始記錄關(guān)鍵字序列為(45,80,55,40,42,85),則以第一個記錄關(guān)鍵字45為基準而得到一趟快速排序的結(jié)果是()。 (A)40,42,45,55,80,83(B)42,40,45,80,85,88(C)42,40,45,55,80,85(D)42,40,45,85,55,80 二、填空題(共30分)1.1.設(shè)有一個順序共享棧S[0:n-1],其中第一個棧項指針top1的初值為-1,第二個棧頂指針top2的初值為n,則判斷共享棧滿的條件是____________________。 2.2.在圖的鄰接表中用順序存儲結(jié)構(gòu)存儲表頭結(jié)點的優(yōu)點是____________________。 3.3.設(shè)有一個n階的下三角矩陣A,如果按照行的順序?qū)⑾氯蔷仃囍械脑兀ò▽蔷€上元素)存放在n(n+1)個連續(xù)的存儲單元中,則A[i][j]與A[0][0]之間有_______個數(shù)據(jù)元素。 4.4.棧的插入和刪除只能在棧的棧頂進行,后進棧的元素必定先出棧,所以又把棧稱為__________表;隊列的插入和刪除運算分別在隊列的兩端進行,先進隊列的元素必定先出隊列,所以又把隊列稱為_________表。 5.5.設(shè)一棵完全二叉樹的順序存儲結(jié)構(gòu)中存儲數(shù)據(jù)元素為ABCDEF,則該二叉樹的前序遍歷序列為___________,中序遍歷序列為___________,后序遍歷序列為___________。 6.6.設(shè)一棵完全二叉樹有128個結(jié)點,則該完全二叉樹的深度為________,有__________個葉子結(jié)點。 7.7.設(shè)有向圖G的存儲結(jié)構(gòu)用鄰接矩陣A來表示,則A中第i行中所有非零元素個數(shù)之和等于頂點i的________,第i列中所有非零元素個數(shù)之和等于頂點i的__________。 8.8.設(shè)一組初始記錄關(guān)鍵字序列(k1,k2,……,kn)是堆,則對i=1,2,…,n/2而言滿足的條件為_______________________________。 9.9.下面程序段的功能是實現(xiàn)冒泡排序算法,請在下劃線處填上正確的語句。void bubble(int r[n]){ for(i=1;i<=n-1;i++){ for(exchange=0,j=0;j<_____________;j++) if(r[j]>r[j+1]){temp=r[j+1];______________;r[j]=temp;exchange=1;} if(exchange==0)return; } } 10.10.下面程序段的功能是實現(xiàn)二分查找算法,請在下劃線處填上正確的語句。struct record{int key;int others;};int bisearch(struct record r[ ], int k){ int low=0,mid,high=n-1; while(low<=high){ ________________________________; if(r[mid].key==k)return(mid+1);else if(____________)high=mid-1;else low=mid+1; } return(0);} 三、應(yīng)用題(24分) 1.1.設(shè)某棵二叉樹的中序遍歷序列為DBEAC,前序遍歷序列為ABDEC,要求給出該二叉樹的的后序遍歷序列。2.2.設(shè)無向圖G(如右圖所示),給出該圖的最小生成樹上邊的集合并計算最小生成樹各邊上的權(quán)值之和。 3.3.設(shè)一組初始記錄關(guān)鍵字序列為(15,17,18,22,35,51,60),要求計算出成功查找時的平均查找長度。 4.4.設(shè)散列表的長度為8,散列函數(shù)H(k)=k mod 7,初始記錄關(guān)鍵字序列為(25,31,8,27,13,68),要求分別計算出用線性探測法和鏈地址法作為解決沖突方法的平均查找長度。 數(shù)據(jù)結(jié)構(gòu)試卷 (五)參考答案 一、選擇題 1.A 2.B 3.A 4.A 5.D 6.B 7.B 8.B 9.C 10.C 二、填空題 1.1.top1+1=top2 2.2.可以隨機訪問到任一個頂點的簡單鏈表 3.3.i(i+1)/2+j-1 4.4.FILO,F(xiàn)IFO 5.5.ABDECF,DBEAFC,DEBFCA 6.6.8,64 7.7.出度,入度 8.8.ki<=k2i && ki<=k2i+1 9.9.n-i,r[j+1]=r[j] 10.10.mid=(low+high)/2,r[mid].key>k 三、應(yīng)用題 1.1.DEBCA 2.2.E={(1,5),(5,2),(5,3),(3,4)},W=10 3.3.ASL=(1*1+2*2+3*4)/7=17/7 4.4.ASL1=7/6,ASL2=4/3 數(shù)據(jù)結(jié)構(gòu)試卷 (六)一、選擇題(30分)1. 設(shè)一組權(quán)值集合W={2,3,4,5,6},則由該權(quán)值集合構(gòu)造的哈夫曼樹中帶權(quán)路徑長度之和為()。 (A)20(B)30(C)40(D)45 2.執(zhí)行一趟快速排序能夠得到的序列是()。 (A)[41,12,34,45,27] 55 [72,63](B)[45,34,12,41] 55 [72,63,27](C)[63,12,34,45,27] 55 [41,72](D)[12,27,45,41] 55 [34,63,72] 3.設(shè)一條單鏈表的頭指針變量為head且該鏈表沒有頭結(jié)點,則其判空條件是()。(A)head==0(B)head->next==0(C)head->next==head(D)head!=0 4.時間復(fù)雜度不受數(shù)據(jù)初始狀態(tài)影響而恒為O(nlog2n)的是()。 (A)堆排序(B)冒泡排序(C)希爾排序(D)快速排序 5.設(shè)二叉樹的先序遍歷序列和后序遍歷序列正好相反,則該二叉樹滿足的條件是()。 (A)空或只有一個結(jié)點(B)高度等于其結(jié)點數(shù) (C)任一結(jié)點無左孩子(D)任一結(jié)點無右孩子 6.一趟排序結(jié)束后不一定能夠選出一個元素放在其最終位置上的是()。 (A)堆排序(B)冒泡排序(C)快速排序(D)希爾排序 7.設(shè)某棵三叉樹中有40個結(jié)點,則該三叉樹的最小高度為()。 (A)3(B)4(C)5(D)6 8.順序查找不論在順序線性表中還是在鏈式線性表中的時間復(fù)雜度為()。 21/2(A)O(n)(B)O(n)(C)O(n)(D)O(1og2n)9.二路歸并排序的時間復(fù)雜度為()。(A)O(n)(B)O(n)(C)O(nlog2n)(D)O(1og2n)10.深度為k的完全二叉樹中最少有()個結(jié)點。 (A)2k-1-1(B)2k-1(C)2k-1+1(D)2k-1 11.設(shè)指針變量front表示鏈式隊列的隊頭指針,指針變量rear表示鏈式隊列的隊尾指針,指針變量s指向?qū)⒁腙犃械慕Y(jié)點X,則入隊列的操作序列為()。 (A)front->next=s;front=s;(B)s->next=rear;rear=s; (C)rear->next=s;rear=s;(D)s->next=front;front=s; 12.設(shè)某無向圖中有n個頂點e條邊,則建立該圖鄰接表的時間復(fù)雜度為()。(A)O(n+e)(B)O(n)(C)O(ne)(D)O(n)13.設(shè)某哈夫曼樹中有199個結(jié)點,則該哈夫曼樹中有()個葉子結(jié)點。 (A)99(B)100(C)101(D)102 14.設(shè)二叉排序樹上有n個結(jié)點,則在二叉排序樹上查找結(jié)點的平均時間復(fù)雜度為()。(A)O(n)(B)O(n)(C)O(nlog2n)(D)O(1og2n)15.設(shè)用鄰接矩陣A表示有向圖G的存儲結(jié)構(gòu),則有向圖G中頂點i的入度為()。 (A)第i行非0元素的個數(shù)之和(B)第i列非0元素的個數(shù)之和 (C)第i行0元素的個數(shù)之和(D)第i列0元素的個數(shù)之和 二、判斷題(20分)1.調(diào)用一次深度優(yōu)先遍歷可以訪問到圖中的所有頂點。() 2.分塊查找的平均查找長度不僅與索引表的長度有關(guān),而且與塊的長度有關(guān)。()3.冒泡排序在初始關(guān)鍵字序列為逆序的情況下執(zhí)行的交換次數(shù)最多。()4.滿二叉樹一定是完全二叉樹,完全二叉樹不一定是滿二叉樹。() 5.設(shè)一棵二叉樹的先序序列和后序序列,則能夠唯一確定出該二叉樹的形狀。()6.層次遍歷初始堆可以得到一個有序的序列。() 7.設(shè)一棵樹T可以轉(zhuǎn)化成二叉樹BT,則二叉樹BT中一定沒有右子樹。()8.線性表的順序存儲結(jié)構(gòu)比鏈式存儲結(jié)構(gòu)更好。() 9.中序遍歷二叉排序樹可以得到一個有序的序列。()10.快速排序是排序算法中平均性能最好的一種排序。() 三、填空題(30分)1.for(i=1,t=1,s=0;i<=n;i++){t=t*i;s=s+t;}的時間復(fù)雜度為_________。 2.設(shè)指針變量p指向單鏈表中結(jié)點A,指針變量s指向被插入的新結(jié)點X,則進行插入操作的語句序列為__________________________(設(shè)結(jié)點的指針域為next)。3.設(shè)有向圖G的二元組形式表示為G =(D,R),D={1,2,3,4,5},R={r},r={<1,2>,<2,4>,<4,5>,<1,3>,<3,2>,<3,5>},則給出該圖的一種拓撲排序序列__________。4.設(shè)無向圖G中有n個頂點,則該無向圖中每個頂點的度數(shù)最多是_________。5.設(shè)二叉樹中度數(shù)為0的結(jié)點數(shù)為50,度數(shù)為1的結(jié)點數(shù)為30,則該二叉樹中總共有_______個結(jié)點數(shù)。 6.設(shè)F和R分別表示順序循環(huán)隊列的頭指針和尾指針,則判斷該循環(huán)隊列為空的條件為_____________________。 7.設(shè)二叉樹中結(jié)點的兩個指針域分別為lchild和rchild,則判斷指針變量p所指向的結(jié)點為葉子結(jié)點的條件是_____________________________________________。8.簡單選擇排序和直接插入排序算法的平均時間復(fù)雜度為___________。 9.快速排序算法的空間復(fù)雜度平均情況下為__________,最壞的情況下為__________。10.散列表中解決沖突的兩種方法是_____________和_____________。 數(shù)據(jù)結(jié)構(gòu)試卷 (六)參考答案 一、選擇題 1.D 2.A 3.A 4.A 5.D 6.D 7.B 8.A 9.C 10.B 11.C 12.A 13.B 14.D 15.B 二、判斷題 1.錯 2.對 3.對 4.對 5.錯 6.錯 7.對 8.錯 9.對 10.對 三、填空題 1.1.O(n)2.2.s->next=p->next;p->next=s 3.3.(1,3,2,4,5)4.4.n-1 5.5.129 6.6.F==R 7.7.p->lchild==0&&p->rchild==0 8.8.O(n2)9.9.O(nlog2n),O(n)10.10.開放定址法,鏈地址法 數(shù)據(jù)結(jié)構(gòu)試卷 (七)一、選擇題(30分)1.設(shè)某無向圖有n個頂點,則該無向圖的鄰接表中有()個表頭結(jié)點。 (A)2n(B)n(C)n/2(D)n(n-1)2.設(shè)無向圖G中有n個頂點,則該無向圖的最小生成樹上有()條邊。 (A)n(B)n-1(C)2n(D)2n-1 3.設(shè)一組初始記錄關(guān)鍵字序列為(60,80,55,40,42,85),則以第一個關(guān)鍵字45為基準而得到的一趟快速排序結(jié)果是()。 (A)40,42,60,55,80,85(B)42,45,55,60,85,80(C)42,40,55,60,80,85(D)42,40,60,85,55,80 4.()二叉排序樹可以得到一個從小到大的有序序列。 (A)先序遍歷(B)中序遍歷(C)后序遍歷(D)層次遍歷 5.設(shè)按照從上到下、從左到右的順序從1開始對完全二叉樹進行順序編號,則編號為i結(jié)點的左孩子結(jié)點的編號為()。 (A)2i+1(B)2i(C)i/2(D)2i-1 6.程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的時間復(fù)雜度為()。(A)O(n)(B)O(nlog2n)(C)O(n)(D)O(n/2)7.設(shè)帶有頭結(jié)點的單向循環(huán)鏈表的頭指針變量為head,則其判空條件是()。 (A)head==0(B)head->next==0(C)head->next==head(D)head!=0 8.設(shè)某棵二叉樹的高度為10,則該二叉樹上葉子結(jié)點最多有()。 (A)20(B)256(C)512(D)1024 9.設(shè)一組初始記錄關(guān)鍵字序列為(13,18,24,35,47,50,62,83,90,115,134),則利用二分法查找關(guān)鍵字90需要比較的關(guān)鍵字個數(shù)為()。 (A)1(B)2(C)3(D)4 10.設(shè)指針變量top指向當(dāng)前鏈式棧的棧頂,則刪除棧頂元素的操作序列為()。 (A)top=top+1;(B)top=top-1;(C)top->next=top;(D)top=top->next; 三、填空題(30分)1.1.設(shè)指針變量p指向雙向鏈表中的結(jié)點A,指針變量s指向被插入的結(jié)點X,則在結(jié)點A的后面插入結(jié)點X的操作序列為_________=p;s->right=p->right;__________=s; p->right->left=s;(設(shè)結(jié)點中的兩個指針域分別為left和right)。2.2.設(shè)完全有向圖中有n個頂點,則該完全有向圖中共有________條有向條;設(shè)完全無向圖中有n個頂點,則該完全無向圖中共有________條無向邊。 3.3.設(shè)關(guān)鍵字序列為(Kl,K2,…,Kn),則用篩選法建初始堆必須從第______個元素開始進行篩選。 4.4.解決散列表沖突的兩種方法是________________和__________________。 5.5.設(shè)一棵三叉樹中有50個度數(shù)為0的結(jié)點,21個度數(shù)為2的結(jié)點,則該二叉樹中度數(shù)為3的結(jié)點數(shù)有______個。 6.6.高度為h的完全二叉樹中最少有________個結(jié)點,最多有________個結(jié)點。7.7.設(shè)有一組初始關(guān)鍵字序列為(24,35,12,27,18,26),則第3趟直接插入排序結(jié)束后的結(jié)果的是__________________________________。 8.8.設(shè)有一組初始關(guān)鍵字序列為(24,35,12,27,18,26),則第3趟簡單選擇排序結(jié)束后的結(jié)果的是__________________________________。 9.9.設(shè)一棵二叉樹的前序序列為ABC,則有______________種不同的二叉樹可以得到這種序列。 10.10.下面程序段的功能是實現(xiàn)一趟快速排序,請在下劃線處填上正確的語句。 struct record {int key;datatype others;};void quickpass(struct record r[], int s, int t, int &i){ int j=t;struct record x=r[s];i=s; while(i while(i while(____________________)i=i+1;if(i } _________________;} 數(shù)據(jù)結(jié)構(gòu)試卷 (七)一、選擇題 1.B 2.B 3.C 4.B 6.A 7.C 8.C 9.B 三、填空題 1.1.s->left=p,p->right 2.2.n(n-1),n(n-1)/2 3.3.n/2 4.4.開放定址法,鏈地址法 5.5.14 6.6.2h-1,2h-1 7.7.(12,24,35,27,18,26)8.8.(12,18,24,27,35,26)9.9.5 10.10.i 5.B 10.D 數(shù)據(jù)結(jié)構(gòu)試卷 (八)一、選擇題(30分)1.1.字符串的長度是指()。 (A)串中不同字符的個數(shù)(B)串中不同字母的個數(shù) (C)串中所含字符的個數(shù)(D)串中不同數(shù)字的個數(shù) 2.2.建立一個長度為n的有序單鏈表的時間復(fù)雜度為() (A)O(n)(B)O(1)(C)O(n2)(D)O(log2n)3.3.兩個字符串相等的充要條件是()。 (A)兩個字符串的長度相等(B)兩個字符串中對應(yīng)位置上的字符相等 (C)同時具備(A)和(B)兩個條件(D)以上答案都不對 4.4.設(shè)某散列表的長度為100,散列函數(shù)H(k)=k % P,則P通常情況下最好選擇()。 (A)99(B)97(C)91(D)93 5.5.在二叉排序樹中插入一個關(guān)鍵字值的平均時間復(fù)雜度為()。(A)O(n)(B)O(1og2n)(C)O(nlog2n)(D)O(n)6.6.設(shè)一個順序有序表A[1:14]中有14個元素,則采用二分法查找元素A[4]的過程中比較元素的順序為()。 (A)A[1],A[2],A[3],A[4](B)A[1],A[14],A[7],A[4](C)A[7],A[3],A[5],A[4](D)A[7],A[5],A[3],A[4] 7.7.設(shè)一棵完全二叉樹中有65個結(jié)點,則該完全二叉樹的深度為()。 (A)8(B)7(C)6(D)5 8.8.設(shè)一棵三叉樹中有2個度數(shù)為1的結(jié)點,2個度數(shù)為2的結(jié)點,2個度數(shù)為3的結(jié)點,則該三叉鏈權(quán)中有()個度數(shù)為0的結(jié)點。 (A)5(B)6(C)7(D)8 9.9.設(shè)無向圖G中的邊的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點a出發(fā)進行深度優(yōu)先遍歷可以得到的一種頂點序列為()。 (A)aedfcb(B)acfebd(C)aebcfd(D)aedfbc 10.10.隊列是一種()的線性表。 (A)先進先出(B)先進后出(C)只能插入(D)只能刪除 三、填空題(30分)1. 1. 設(shè)一組初始記錄關(guān)鍵字序列為(49,38,65,97,76,13,27,50),則以d=4為增量的一趟希爾排序結(jié)束后的結(jié)果為_____________________________。 2. 2. 下面程序段的功能是實現(xiàn)在二叉排序樹中插入一個新結(jié)點,請在下劃線處填上正確的內(nèi)容。 typedef struct node{int data;struct node *lchild;struct node *rchild;}bitree;void bstinsert(bitree *&t,int k){ if(t==0){____________________________;t->data=k;t->lchild=t->rchild=0;} else if(t->data>k)bstinsert(t->lchild,k);else__________________________;} 3. 3. 設(shè)指針變量p指向單鏈表中結(jié)點A,指針變量s指向被插入的結(jié)點X,則在結(jié)點A的后面插入結(jié)點X需要執(zhí)行的語句序列:s->next=p->next;_________________。4. 4. 設(shè)指針變量head指向雙向鏈表中的頭結(jié)點,指針變量p指向雙向鏈表中的第一個結(jié)點,則指針變量p和指針變量head之間的關(guān)系是p=_________和head=__________(設(shè)結(jié)點中的兩個指針域分別為llink和rlink)。 5. 5. 設(shè)某棵二叉樹的中序遍歷序列為ABCD,后序遍歷序列為BADC,則其前序遍歷序列為__________。 6. 6. 完全二叉樹中第5層上最少有__________個結(jié)點,最多有_________個結(jié)點。7. 7. 設(shè)有向圖中不存在有向邊 8. 8. 設(shè)一組初始記錄關(guān)鍵字序列為(49,38,65,97,76,13,27,50),則第4趟直接選擇排序結(jié)束后的結(jié)果為_____________________________。 9. 9. 設(shè)連通圖G中有n個頂點e條邊,則對應(yīng)的最小生成樹上有___________條邊。10. 10. 設(shè)有一組初始記錄關(guān)鍵字序列為(50,16,23,68,94,70,73),則將它們調(diào)整成初始堆只需把16與___________相互交換即可。 數(shù)據(jù)結(jié)構(gòu)試卷 (八)參考答案 一、選擇題 1.C 2.C 3.C 4.B 5.B 6.C 7.B 8.C 9.A 10.A 三、填空題 1.1.(49,13,27,50,76,38,65,97)2.2.t=(bitree *)malloc(sizeof(bitree)),bstinsert(t->rchild,k)3.3.p->next=s 4.4.head->rlink,p->llink 5.5.CABD 6.6.1,16 7.7.0 8.8.(13,27,38,50,76,49,65,97)9.9.n-1 10.10.50第二篇:考試題目及答案
第三篇:考試題目及答案
第四篇:考試題目及答案
第五篇:數(shù)據(jù)結(jié)構(gòu)試題及答案