版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)試卷(二)一、選擇題(每題3分,共24分)1.下面關(guān)于線性表的敘述錯誤的是(D)。A.線性表采用順序存儲必須占用一片連續(xù)的存儲空間B.線性表采用鏈?zhǔn)酱鎯Σ槐卣加靡黄B續(xù)的存儲空間C.線性表采用鏈?zhǔn)酱鎯Ρ阌诓迦牒蛣h除操作的實現(xiàn)D.線性表采用順序存儲便于插入和刪除操作的實現(xiàn)2.設(shè)哈夫曼樹中的葉子結(jié)點總數(shù)為m,若用二叉鏈表作為存儲結(jié)構(gòu),則該哈夫曼樹中總共有(B)個空指針域。A.2m-1B.2mC.2m+1D.4m3.設(shè)順序循環(huán)隊列Q[0:M-1]的頭指針和尾指針分別為F和R,頭指針F總是指向隊頭元素的前一位置,尾指針R總是指向隊尾元素的當(dāng)前位置,則該循環(huán)隊列中的元素個數(shù)為(C)。A.R-FB.F-RC.(R-F+M)%MD.(F-R+M)%M4.設(shè)某棵二叉樹的中序遍歷序列為ABCD、前序遍歷序列為CABD,則后序遍歷該二叉樹得到的序列為(A)。A.BADCB.BCDAC.CDABD.CBDA5.設(shè)某完全無向圖中有n個頂點,則該完全無向圖中有(A)條邊。A.n(n-1)/2B.n(n-1)C.n2D.n2-16.設(shè)某棵二叉樹中有2000個結(jié)點,則該二叉樹的最小高度為(C)。A.9B.10C.11D.127.設(shè)某有向圖中有n個頂點,則該有向圖對應(yīng)的鄰接表中有(B)個表頭結(jié)點。A.n-1B.nC.n+1D.2n-18.設(shè)有一組初始記錄關(guān)鍵字序列(5,2,6,3,8),以第一個記錄關(guān)鍵字5為基準(zhǔn)進行一趟快速排序的結(jié)果為(C)。A.2,3,5,8,6B.3,2,5,8,6C.3,2,5,6,8D.2,3,6,5,8二、填空題(每空2分,共24分)1.為了能有效地應(yīng)用Hash查找技術(shù),必須解決的兩個問題是___如何構(gòu)造哈希函數(shù)和如何解決沖突。2.下面程序段的功能實現(xiàn)數(shù)據(jù)x進棧,要求在下畫線處填上正確的語句。
1
classSqStack:
2
def__init__(self):
3
self.data=[None]*100
4
self.top=0
5
#......
6
7
#......
8
9
defpush(self,x):
10
ifself.top==100:
11
raise('overflow')
12
else:
13
__self.data[top]=x____
14
___top=top+1___3.中序遍歷二叉排序樹所得到的序列是____有序____序列(填有序或無序)。4.快速排序的最壞時間復(fù)雜度為___O(n2)_____,平均時間復(fù)雜度為___O(nlogn)_____。5.設(shè)某棵二叉樹中度數(shù)為0的結(jié)點數(shù)為N0,度數(shù)為1的結(jié)點數(shù)為N1,則該二叉樹中度數(shù)為2的結(jié)點數(shù)為____N0-1___;若采用二叉鏈表作為該二叉樹的存儲結(jié)構(gòu),則該二叉樹中共有____N1+2N0____個空指針域。6.設(shè)某無向圖中的頂點數(shù)和邊數(shù)分別為n和e,所有頂點的度數(shù)之和為d,則e=____d/2____。7.設(shè)一組初始記錄關(guān)鍵字序列為(55,63,44,38,75,80,31,56),則利用篩選法建立的初始堆為____大根堆:(80,75,55,56,63,44,31,38)小根堆:(31,38,44,56,75,80,55,63)____。8.已知一個有向圖的鄰接表存儲結(jié)構(gòu)如圖A.3所示,從頂點1出發(fā),DFS遍歷的輸出序列是_____1,3,4,5,2___,BFS遍歷的輸出序列是____1,3,2,4,5____。圖A.3圖的鄰接表存儲結(jié)構(gòu)三、應(yīng)用題(每題6分,共36分)1.設(shè)一組初始記錄關(guān)鍵字序列為(45,80,48,40,22,78),則分別給出第4趟簡單選擇排序和第4趟直接插入排序后的結(jié)果。答:簡單選擇排序:22,40,45,48,80,78 直接插入排序:40,45,48,80,22,782.設(shè)指針變量p指向雙向鏈表中的結(jié)點A,指針變量q指向被插入結(jié)點B,要求給出在結(jié)點A的后面插入結(jié)點B的操作序列(設(shè)雙向鏈表中結(jié)點的兩個指針域分別為llink和rlink)。答:q->llink=p;q->rlink=p->rlink;p->rlink->llink=q;p->rlink=q;3.設(shè)一組有序的記錄關(guān)鍵字序列為(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求計算出查找關(guān)鍵字62時的比較次數(shù)并計算出查找成功時的平均查找長度。答:比較次數(shù)2,平均查找長度25/9圖A.4無向圖G4.設(shè)一棵樹T中邊的集合為{(A,B),(A,C),(A,D),(B,E),(C,F(xiàn)),(C,G)},要求用孩子兄弟表示法(二叉鏈表)表示出該樹的存儲結(jié)構(gòu)并將該樹轉(zhuǎn)化成對應(yīng)的二叉樹。答:5.設(shè)有如圖A.4所示的無向圖G,要求給出用普里姆算法構(gòu)造最小生成樹所走過的邊的集合。答:{(1,3),(1,2),(3,5),(5,6),(6,4)}6.設(shè)有一組初始記錄關(guān)鍵字為(45,80,48,40,22,78),要求構(gòu)造一棵二叉排序樹并給出構(gòu)造過程。答:構(gòu)造過程如下:插入過程:若二叉排序樹為空,則待插入結(jié)點*S作為根結(jié)點插入到空樹中;當(dāng)非空時,將待插結(jié)點關(guān)鍵字S->key和樹根關(guān)鍵字t->key進行比較,若s->key=t->key,則無須插入,若s->key<t->key,則插入到根的左子樹中,若s->key>t->key,則插入到根的右子樹中。而子樹中的插入過程和在樹中的插入過程相同,如此進行下去,直到把結(jié)點*s作為一個新的樹葉插入到二叉排序樹中,或者直到發(fā)現(xiàn)樹已有相同關(guān)鍵字的結(jié)點為止。構(gòu)造結(jié)果:四、算法設(shè)計題(每題8分,共16分)1.設(shè)有一組初始記錄關(guān)鍵字序列(K1,K2,…,Kn),要求設(shè)計一個算法能夠在O(n)的時間復(fù)雜度內(nèi)將線性表劃分成兩部分,其中左半部分的每個關(guān)鍵字均小于Ki,右半部分的每個關(guān)鍵字均大于等于Ki。
1
defquicksort(list,i,n):
2
left=i
3
right=n
4
temp=list[i]
5
whileleft<right:
6
whileleft<rightandlist[right]>temp:
7
right=right-1
8
ifleft<right:
9
list[left]=list[right]
10
left=left+1
11
whileleft<rightandlist[left]<temp:
12
left=left+1
13
ifleft<right:
14
list[right]=list[left]
15
right=right-1
16
list[left]=temp使用java改寫:voidquicksort(int[]list,inti,intn){intleft=i;intright=n;inttemp=list[i];while(left<right){while(left<right&&list[right]>temp){right--;}if(left<right){list[left]=list[right];left++;}while(left<right&&list[left]<temp){left++;}if(left<right){list[right]=list[left];right--;}}list[left]=temp;}2.設(shè)有兩個集合A和集合B,要求設(shè)計生成集合C=A∩B的算法,其中集合A、B和C用鏈?zhǔn)酱鎯Y(jié)構(gòu)表示。
1
classNode():
2
i=0
3
def_init_(self,data):
4
self.data=data
5
self.next=None
6
Node.i+=1
7
8
defandOperation(a,b,c):
9
p=a
10
c=None
11
whilep!=None:
12
q=b
13
whileq!=None:
14
ifp.data==q.data:
15
break
16
q=q.next
17
ifq!=None:
18
t=Node(p.data)
19
t.next=c
20
c=t
21
p=p.next使用java改寫:classNode{intdata;Nodenext;Node(intdt){data=dt;next=null;}}NodedefandOperation(Nodea,Nodeb){Nodep=a;Nodec=null;while(p!=null){Nodeq=b;while(q!=null){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度鋁合金門窗企業(yè)品牌戰(zhàn)略規(guī)劃與實施合同4篇
- 專項委托購買合同2024年版本3篇
- 個人提供翻譯服務(wù)2024年度合同2篇
- 二零二五年度芒果采摘與冷鏈物流一體化服務(wù)合同4篇
- 二零二五版基礎(chǔ)設(shè)施建設(shè)項目勞務(wù)分包招標(biāo)文件2篇
- 山西?。ㄌR汾地區(qū))重點名校2025屆中考一模生物試題含解析
- 2025屆江蘇省揚州市翠崗中考四模生物試題含解析
- 2025年度數(shù)碼配件代銷合作協(xié)議4篇
- 2025年度遺體告別儀式現(xiàn)場布置與用品供應(yīng)合同2篇
- 二零二五版國際教育交流項目合作協(xié)議3篇
- 2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(含答案)
- 2025年國新國際投資有限公司招聘筆試參考題庫含答案解析
- MOOC 有機化學(xué)(上)-北京師范大學(xué) 中國大學(xué)慕課答案
- 《風(fēng)電場項目經(jīng)濟評價規(guī)范》(NB-T 31085-2016)
- 五年級上冊脫式計算100題及答案
- 中央廣播電視大學(xué)畢業(yè)生登記表-6
- 標(biāo)桿房企人力資源體系研究之龍湖
- 招商部人員績效考核辦法最全方案
- 醫(yī)療設(shè)備報廢申請表
- CAD快速看圖破解安裝步驟
- 二年級下數(shù)學(xué)1000以內(nèi)加減混合豎式專項練習(xí)(共12頁)
評論
0/150
提交評論