一、簡答題(
30
分,每題
6
分)
1
、比較順序存儲結構和鏈式存儲結構的特點。
2
、散列表的構建,查找比較次數,刪除某元素后的散列表。
3
、描述快速排序的思想。
4
、給出二叉樹的先序和中序,求葉子節點。
5
、
DFS
和
BFS
分別用哪種數據結構來暫存頂點?要使連通圖的生成樹高度最小,應該采用哪種遍歷?
二、應用題(
60
分,每題
10
分)
1
、給出一堆數字,用基數排序排列(基數為
10
),給出各步狀態。
2
、一對稱矩陣,用一維數組存儲下三角,行映射模式,給出映射公式。
3
、給一個完全二叉樹(一組數字序列),求先序序列,另外將其調整到最大堆,給出調整后的序列。
4
、
B
樹的插入和刪除。
5
、給出一個圖,分別給出
DFS
和
BFS
遍歷序列。
6
、給出一個帶權圖,寫出其鄰接矩陣形式,鄰接表形式。最后用迪傑斯特拉算法求頂點
1
到其他各個頂點的最短路徑,寫出各步狀態。
三、算法題(
60
分,每題
20
分)
1
、寫出單鏈表
Chain
類的類聲明,寫單鏈表原地逆序的算法。
2
、二叉鏈式存儲結構,寫算法判斷是否是滿二叉樹。(
PS
:剛開始審錯題,看成了判斷完全二叉樹,結果寫了一大面,最后全划掉了
=
。
=
)
3
、鄰接矩陣,用一維數據存儲,行映射模式,寫算法求給定頂點的度。並給出其復雜性。
更多
考研真題下載。
參考教材
《數據結構,算法與應用—— C++語言描述》Data Structures,Algorithms,and Applications in C++ Sartaj Sahni 著 汪詩林,孫曉東 譯 機械工業出版社 2000年出版