数据结构试卷及答案(二)
一、選擇題
1、下面關于線性表的敘述錯誤的是(?? )。
(A) 線性表采用順序存儲必須占用一片連續的存儲空間?
(B) 線性表采用鏈式存儲不必占用一片連續的存儲空間?
(C) 線性表采用鏈式存儲便于插入和刪除操作的實現
(D) 線性表采用順序存儲便于插入和刪除操作的實現
2、設哈夫曼樹中的葉子結點總數為m,若用二叉鏈表作為存儲結構,則該哈夫曼樹中總共有(? )個空指針域。?
(A) 2m-1?????????
(B) 2m??????????
(C) 2m+1????????
(D) 4m
3、設順序循環隊列Q[0:M-1]的頭指針和尾指針分別為F和R,頭指針F總是指向隊頭元素的前一位置,尾指針R總是指向隊尾元素的
當前位置,則該循環隊列中的元素個數為(? )。
(A) R-F??
(B) F-R???
(C) (R-F+M)%M???
(D) (F-R+M)%M
4、設某棵二叉樹的中序遍歷序列為ABCD,前序遍歷序列為CABD,則后序遍歷該二叉樹得到序列為(?? )。
(A) BADC?????????
(B) BCDA????????
(C) CDAB????????
(D) CBDA
5、設某完全無向圖中有n個頂點,則該完全無向圖中有(? )條邊。?
(A) n(n-1)/2?????
(B) n(n-1)??????
(C) n2??????????
(D) n2-1
6、設某棵二叉樹中有2000個結點,則該二叉樹的最小高度為(? )。?
(A) 9????????????
(B) 10?????????
(C) 11??????????
(D) 12
7、設某有向圖中有n個頂點,則該有向圖對應的鄰接表中有(? )個表頭結點。?
(A) n-1??????????
(B) n???????????
(C) n+1?????????
(D) 2n-1
8、設一組初始記錄關鍵字序列(5,2,6,3,8),以第一個記錄關鍵字5為基準進行一趟快速排序的結果為(? )。?
(A) 2,3,5,8,6????????????????????????????????
(B) 3,2,5,8,6
(C) 3,2,5,6,8????????????????????????????????
(D) 2,3,6,5,8
二、填空題
1、為了能有效地應用HASH查找技術,必須解決的兩個問題是____________________和__________________________。
?2、下面程序段的功能實現數據x進棧,要求在下劃線處填上正確的語句。
????? typedef struct {int s[100]; int top;} sqstack;
????? void push(sqstack &stack,int x)
????? {
?????????????? if (stack.top==m-1) printf(“overflow”);
???????????? ? else {____________________;_________________;}
??????}
參考答案是:stack.top++,stack.s[stack.top]=x3、中序遍歷二叉排序樹所得到的序列是___________序列(填有序或無序)。
參考答案是:有序4、快速排序的最壞時間復雜度為___________,平均時間復雜度為__________。
參考答案是:O(n2),O(nlog2n)5、設某棵二叉樹中度數為0的結點數為N0,度數為1的結點數為N1,則該二叉樹中度數為2的結點數為_________;若采用二叉鏈表
作為該二叉樹的存儲結構,則該二叉樹中共有_______個空指針域。
6、設某無向圖中頂點數和邊數分別為n和e,所有頂點的度數之和為d,則e=_______。
參考答案是:d/27、設一組初始記錄關鍵字序列為(55,63,44,38,75,80,31,56),則利用篩選法建立的初始堆為__________________。
參考答案是:(31,38,54,56,75,80,55,63)8、已知一有向圖的鄰接表存儲結構如下:從頂點1出發,DFS遍歷的輸出序列是???????????,BFS遍歷的輸出序列是????????????。
?
三、應用題
1、設一組初始記錄關鍵字序列為(45,80,48,40,22,78),則分別給出第4趟簡單選擇排序和第4趟直接插入排序后的結果。
(22,40,45,48,80,78),(40,45,48,80,22,78)
2、設指針變量p指向雙向鏈表中結點A,指針變量q指向被插入結點B,要求給出在結點A的后面插入結點B的操作序列(設雙向鏈表
中結點的兩個指針域分別為llink和rlink)。
q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;
3、設一組有序的記錄關鍵字序列為(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求計算出查找關鍵字62時
的比較次數并計算出查找成功時的平均查找長度。
2,ASL=91*1+2*2+3*4+4*2)=25/9
4、設一棵樹T中邊的集合為{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉鏈表)表示出該
樹的存儲結構并將該樹轉化成對應的二叉樹。
樹的鏈式存儲結構略,二叉樹略
5、設有無向圖G,要求給出用普里姆算法構造最小生成樹所走過的邊的集合。
E={(1,3),(1,2),(3,5),(5,6),(6,4)}
6、設有一組初始記錄關鍵字為(45,80,48,40,22,78),要求構造一棵二叉排序樹并給出構造過程。
參考答案是:略
四、算法設計題
1、設有一組初始記錄關鍵字序列(K1,K2,…,Kn),要求設計一個算法能夠在O(n)的時間復雜度內將線性表劃分成兩部分,其
中左半部分的每個關鍵字均小于Ki,右半部分的每個關鍵字均大于等于Ki。
2、設有兩個集合A和集合B,要求設計生成集合C=A∩B的算法,其中集合A、B和C用鏈式存儲結構表示。
參考答案是:來源:我是碼農,轉載請保留出處和鏈接!
本文鏈接:http://www.54manong.com/?id=46
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })(); '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();總結
以上是生活随笔為你收集整理的数据结构试卷及答案(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java详细设计模式有代码
- 下一篇: 关于神经网络的英语单词有,神经网络的英文