本門課程由數據結構和操作系統兩門課程組成,兩門課程各占 75分,具體要求如下:
第一部分:數據結構
一、考試的總體要求
掌握數據結構的基本概念、原理和方法。掌握數據的邏輯結構、存儲結構及基本操作的實現,能夠對算法進行基本的時間復雜度和空間復雜度分析。
能夠運用數據結構的基本原理和方法進行問題的分析與求解,具備采用C語言設計與實現算法的能力。
二、考試的內容
1.緒論
數據結構的基本概念,數據的邏輯結構、存儲結構。
算法的定義、特性和設計要求,算法的時間復雜度分析與空間復雜度分析。
2.線性表
線性表的定義;線性表的邏輯結構;線性表的存儲結構(順序存儲、鏈式存儲),兩種存儲方式的特點和適用場合;不同存儲方式下基本操作的實現;線性表的應用。
3.棧與隊列
棧:棧的定義和基本概念;棧的邏輯結構;棧的存儲結構(順序存儲,鏈式存儲);不同存儲方式下基本操作的實現;棧的應用。
隊列:隊列的定義和基本概念;隊列的邏輯結構;隊列的存儲結構(順序,鏈式);不同存儲方式下基本操作的實現;隊列的應用。
4.二叉樹與樹
二叉樹:二叉樹的定義和基本概念;二叉樹的基本性質;二叉樹的邏輯結構;二叉樹的存儲結構(順序、鏈式);不同存儲結構上的基本操作實現;二叉樹的遍歷及應用;線索二叉樹的基本概念和構造。
樹與森林:樹(森林)的定義和基本概念;樹(森林)的邏輯結構;樹(森林)的存儲結構(雙親表示法,孩子鏈表表示法,雙親孩子鏈表表示法,孩子兄弟鏈表表示法);樹(森林)的基本操作實現;樹(森林)的遍歷及應用。
樹(森林)與二叉樹之間的相互轉換以及遍歷的對應關系。
哈夫曼樹(最優二叉樹)和哈夫曼編碼。
5.圖
圖的定義與基本概念;圖的邏輯結構;圖的存儲結構(鄰接矩陣、鄰接表、鄰接多重表、十字鏈表);不同存儲結構上的基本操作實現;圖的遍歷(深度優先遍歷,廣度優先遍歷)及應用;圖的應用(最小生成樹、最短路徑、AOV網及拓撲排序、AOE網及關鍵路徑)。
6.查找
查找的基本概念與術語;靜態查找表(順序查找、折半查找、分塊查找);動態查找表(二叉排序樹、二叉平衡樹和 B-樹);哈希表(哈希表的概念、常用的哈希函數、解決沖突的方法);查找算法的分析(ASL)及應用。
7.排序
排序的基本概念;插入類排序(直接插入排序、折半插入排序、希爾排序)、交換類排序(冒泡排序、快速排序)、選擇類排序(簡單選擇排序、堆排序)、歸并類排序(二路歸并排序)、基數排序;各種內部排序算法的穩定性和時間復雜度與空間復雜度分析;排序算法的應用。
8.綜合應用:根據實際問題,設計有效的數據結構和算法,并進行時間復雜度分析。