可參考復旦大學2019年碩士研究生招生考試自命題科目考試大綱
第一部分 資料結構與演算法
一、棧(Stack)、佇列(Queue)和向量(Vector)
內容:單鏈表,雙向連結串列,環形連結串列,帶哨兵節點的連結串列;
棧的基本概念和性質,棧ADT及其順序,連結實現;棧的應用;棧與遞迴;
佇列的基本概念和性質,佇列ADT及其順序,連結實現;佇列的應用;
向量基本概念和性質;向量ADT及其陣列、連結實現;
二、樹
內容:樹的基本概念和術語;樹的前序,中序,後序,層次序遍歷;
二叉樹及其性質;普通樹與二叉樹的轉換;
樹的儲存結構,標準形式;完全樹(complete tree)的陣列形式儲存;
樹的應用,Huffman樹的定義與應用;
三、查詢(search)
內容:查詢的基本概念;對線性關係結構的查詢,順序查詢,二分查詢;
Hash查詢法,常見的Hash函式(直接定址法,隨機數法),hash衝突的概念,解決衝突的方法(開雜湊方法/拉鍊法,閉雜湊方法/開址定址法),二次聚集現象;
平衡樹(AVL)的定義,性質,ADT及其實現,平衡樹查詢,插入演算法,平衡因子的概念;
優先佇列與堆,堆的定義,堆的生成,調整演算法;範圍查詢;
四、排序
內容:排序基本概念;插入排序,希爾排序,選擇排序,快速排序,合併排序,基數排序等排序演算法基本思想,演算法程式碼及基本的時間複雜度分析
五、圖
內容:圖的基本概念;圖的儲存結構,鄰接矩陣,鄰接表;圖的遍歷,廣度度優先遍歷和深度優先遍歷;最小生成樹基本概念,Prim演算法,Kruskal演算法;最短路徑問題,廣度優先遍歷演算法,Dijkstra演算法,Floyd演算法;拓撲排序
第二部分 軟體工程
一、軟體過程
軟體過程的概念;經典軟體過程模型的特點(瀑布模型、增量模型、演化模型、統一過程模型);過程評估與CMM/CMMI的基本概念;敏捷宣言與敏捷過程的特點。
二、軟體需求
軟體需求的概念;需求工程的基本過程;分層資料流模型;用例和場景建模及其UML表達(用例圖、活動圖、泳道圖、順序圖);資料模型建模及其UML表達(類圖);行為模型建模及其UML表達(狀態機圖)。
三、軟體設計與構造
軟體體系結構及體系結構風格的概念;設計模式的概念;模組化設計的基本思想及概念(抽象、分解、模組化、封裝、資訊隱藏、功能獨立);軟體重構的概念;軟體體系結構的UML建模(包圖、類圖、構件圖、順序圖、部署圖);介面的概念;面向物件設計原則(開閉原則、Liskov替換原則、依賴轉置原則、介面隔離原則);內聚與耦合的概念、常見的內聚和耦合型別。
四、軟體測試
軟體測試及測試用例的概念;單元測試、整合測試、確認測試、系統測試、迴歸測試的概念;除錯的概念、除錯與測試的關係;測試覆蓋度的概念;白盒測試、黑盒測試的概念;程式碼圈複雜度的計算方法;白盒測試中的基本路徑測試方法;黑盒測試中的等價類劃分方法。
第三部分 計算機系統基礎
一 、處理器體系結構
內容:CPU中的時序電路、單週期處理器的設計、流水線處理器的基本原理、Data Hazard的處理、流水線設計中的其他問題
二、最佳化程式效能
內容:最佳化程式效能、最佳化編譯器的能力和侷限性以及表示程式效能、特定體系結構或應用特性的效能最佳化、限制因素、確認和消除效能瓶頸
三、儲存器結構及虛擬儲存器
內容:區域性性、儲存器層級結構、計算機快取記憶體器原理、快取記憶體對效能的影響、地址空間、虛擬儲存器、虛擬記憶體的管理、翻譯和對映、TLB、動態儲存器分配和垃圾收集
四、連結、程序及併發程式設計
內容:靜態連結、目標檔案、符號和符號表、重定位和載入、動態連結庫、異常和程序、程序控制和訊號、程序間的通訊、程序間訊號量的控制、訊號量,各種併發程式設計模式,共享變數和執行緒同步,其他並行問題
五、系統級I/O和網路程式設計
內容:I/O相關概念、檔案及檔案操作、共享檔案、網路程式設計、客戶端-伺服器模型,套接字介面、HTTP請求,Web伺服器
試卷總分:150分
第一部分 資料結構與演算法(總分:60分)
考試題型:問答、分析、程式設計
第二部分 軟體工程(總分:60分)
考試題型:概念問答題、實踐案例題
第三部分 計算機系統基礎(總分:30分)
可參考復旦大學2019年碩士研究生招生考試自命題科目考試大綱
第一部分 資料結構與演算法
一、棧(Stack)、佇列(Queue)和向量(Vector)
內容:單鏈表,雙向連結串列,環形連結串列,帶哨兵節點的連結串列;
棧的基本概念和性質,棧ADT及其順序,連結實現;棧的應用;棧與遞迴;
佇列的基本概念和性質,佇列ADT及其順序,連結實現;佇列的應用;
向量基本概念和性質;向量ADT及其陣列、連結實現;
二、樹
內容:樹的基本概念和術語;樹的前序,中序,後序,層次序遍歷;
二叉樹及其性質;普通樹與二叉樹的轉換;
樹的儲存結構,標準形式;完全樹(complete tree)的陣列形式儲存;
樹的應用,Huffman樹的定義與應用;
三、查詢(search)
內容:查詢的基本概念;對線性關係結構的查詢,順序查詢,二分查詢;
Hash查詢法,常見的Hash函式(直接定址法,隨機數法),hash衝突的概念,解決衝突的方法(開雜湊方法/拉鍊法,閉雜湊方法/開址定址法),二次聚集現象;
平衡樹(AVL)的定義,性質,ADT及其實現,平衡樹查詢,插入演算法,平衡因子的概念;
優先佇列與堆,堆的定義,堆的生成,調整演算法;範圍查詢;
四、排序
內容:排序基本概念;插入排序,希爾排序,選擇排序,快速排序,合併排序,基數排序等排序演算法基本思想,演算法程式碼及基本的時間複雜度分析
五、圖
內容:圖的基本概念;圖的儲存結構,鄰接矩陣,鄰接表;圖的遍歷,廣度度優先遍歷和深度優先遍歷;最小生成樹基本概念,Prim演算法,Kruskal演算法;最短路徑問題,廣度優先遍歷演算法,Dijkstra演算法,Floyd演算法;拓撲排序
第二部分 軟體工程
一、軟體過程
軟體過程的概念;經典軟體過程模型的特點(瀑布模型、增量模型、演化模型、統一過程模型);過程評估與CMM/CMMI的基本概念;敏捷宣言與敏捷過程的特點。
二、軟體需求
軟體需求的概念;需求工程的基本過程;分層資料流模型;用例和場景建模及其UML表達(用例圖、活動圖、泳道圖、順序圖);資料模型建模及其UML表達(類圖);行為模型建模及其UML表達(狀態機圖)。
三、軟體設計與構造
軟體體系結構及體系結構風格的概念;設計模式的概念;模組化設計的基本思想及概念(抽象、分解、模組化、封裝、資訊隱藏、功能獨立);軟體重構的概念;軟體體系結構的UML建模(包圖、類圖、構件圖、順序圖、部署圖);介面的概念;面向物件設計原則(開閉原則、Liskov替換原則、依賴轉置原則、介面隔離原則);內聚與耦合的概念、常見的內聚和耦合型別。
四、軟體測試
軟體測試及測試用例的概念;單元測試、整合測試、確認測試、系統測試、迴歸測試的概念;除錯的概念、除錯與測試的關係;測試覆蓋度的概念;白盒測試、黑盒測試的概念;程式碼圈複雜度的計算方法;白盒測試中的基本路徑測試方法;黑盒測試中的等價類劃分方法。
第三部分 計算機系統基礎
一 、處理器體系結構
內容:CPU中的時序電路、單週期處理器的設計、流水線處理器的基本原理、Data Hazard的處理、流水線設計中的其他問題
二、最佳化程式效能
內容:最佳化程式效能、最佳化編譯器的能力和侷限性以及表示程式效能、特定體系結構或應用特性的效能最佳化、限制因素、確認和消除效能瓶頸
三、儲存器結構及虛擬儲存器
內容:區域性性、儲存器層級結構、計算機快取記憶體器原理、快取記憶體對效能的影響、地址空間、虛擬儲存器、虛擬記憶體的管理、翻譯和對映、TLB、動態儲存器分配和垃圾收集
四、連結、程序及併發程式設計
內容:靜態連結、目標檔案、符號和符號表、重定位和載入、動態連結庫、異常和程序、程序控制和訊號、程序間的通訊、程序間訊號量的控制、訊號量,各種併發程式設計模式,共享變數和執行緒同步,其他並行問題
五、系統級I/O和網路程式設計
內容:I/O相關概念、檔案及檔案操作、共享檔案、網路程式設計、客戶端-伺服器模型,套接字介面、HTTP請求,Web伺服器
試卷總分:150分
第一部分 資料結構與演算法(總分:60分)
考試題型:問答、分析、程式設計
第二部分 軟體工程(總分:60分)
考試題型:概念問答題、實踐案例題
第三部分 計算機系統基礎(總分:30分)
考試題型:問答、分析、程式設計