中國科學院大學程式設計考研大綱

學識都 人氣:1.94W

中國科學院大學已經公佈了2017年碩士研究生入學考試程式設計考試大綱,下面是小編蒐集整理的相關內容,供大家閱讀參考。

中國科學院大學程式設計考研大綱

本《程式設計》考試大綱適用於中國科學院大學計算機科學與技術類的碩士研究生入學考試。程式設計是電腦科學與技術及相關學科的重要基礎,主要內容包括資料結構和C程式設計兩大部分。要求考生對電腦科學與技術及相關學科的基本概念有較深入、系統的理解,掌握各種資料結構的定義和實現演算法,對C語言的基本知識有較深入的瞭解,掌握程式設計的基本方法,並具有綜合運用所學知識分析問題和解決問題的能力。

一、考試內容

 資料結構

1、緒論

(1)資料結構的基本概念,資料的邏輯結構、儲存結構。

(2)演算法的定義、演算法的基本特性以及演算法分析的基本概念。

2、線性表

(1)線性關係、線性表的定義,線性表的基本操作。

(2)線性表的順序儲存結構與鏈式儲存結構(包括單鏈表、迴圈連結串列和雙向連結串列)的構造原理。在以上兩種儲存結構上對線性表實施的最主要的操作(包括三種連結串列的建立、插入和刪除、檢索等)的演算法設計。

3、堆疊與佇列

(1)堆疊與佇列的基本概念、基本操作。

(2)堆疊與佇列的順序儲存結構與鏈式儲存結構的構造原理。

(3)在不同儲存結構的基礎上對堆疊與佇列實施插入與刪除等基本操作對應的演算法設計。

4、串

(1)串的基本概念、串的基本操作和儲存結構。

(2)串的模式匹配演算法和改進的KMP演算法

5、陣列和廣義表

(1)陣列的概念、多維陣列的實現

(2)對稱矩陣和稀疏矩陣的壓縮儲存

(3)廣義表的基本概念

6、樹與二元樹

(1)樹的定義和性質

(2)二元樹的概念、性質和實現

(3)遍歷二元樹和線索二元樹

(4)樹和森林

(5)赫夫曼樹及其應用

(6)樹的計數

7、圖

(1)圖的定義,基本概念,圖的分類,常用名詞術語。

(2)圖的鄰接矩陣儲存方法、鄰接表儲存方法的構造原理。

(3)圖的遍歷操作。

(4)最小生成樹,最短路徑,AOV網與拓撲排序。

8、檔案及查詢

(1)資料檔案的基本概念和基本術語,資料檔案的基本操作。

(2)順序檔案、索引檔案、雜湊(Hash)檔案。

(3)順序檔案的順序查詢方法、排序連續順序檔案的折半查詢方法以及其他檔案的基本查詢方法。

9、內排序

(1)排序的基本概念,排序方法的分類。

(2)插入排序法(含折半插入排序法)、選擇排序法、泡排序法、快速排序法、堆積排序法、歸併排序、基數排序。各種排序方法排序的原理、規律和特點,各種排序演算法的時空複雜度簡單分析。

 程式設計

1、基本知識

(1)C語言的資料型別

(2)C語言中各種型別常量的表示法

(3)各類數值型資料間的混合運算

(4)C運算子

(5)關係表示式及運算,邏輯表示式及運算

2、順序、選擇與迴圈結構程式設計

(1)賦值語句,格式輸入與輸出

(2)if語句,switch語句

(3)goto、while、do-while、for、break、continue語句

3、陣列

(1)一維陣列的定義和引用

(2)二維陣列的定義和引用

(3)字元陣列的定義和引用

4、函式

(1)函式定義與呼叫

(2)區域性變數和全域性變數

(3)變數的儲存型別

(4)內部函式與外部函式

5、指標

(1)地址和指標的概念

(2)陣列的指標和指向陣列的指標變數

(3)字串的指標和指向字串的指標變數

(4)函式的指標和指向函式的指標變數

(5)指標陣列和指向指標的陣列

6、結構體和共同體

(1)結構體變數的定義和使用方法

(2)指向結構體型別變數的指標

(3)用指標處理連結串列

(4)共同體變數的定義和使用方法

(5)列舉型別

7、位運算

(1)位運算子和位運算

(2)位段

8、檔案

(1)檔案型別指標

(2)檔案操作,包括開啟、關閉、讀寫和定位等。

二、考試要求

資料結構

1、 掌握有關資料結構的基本概念,包括資料的邏輯結構、儲存結構。

2、 掌握演算法的基本概念以及演算法分析的基本方法。

3、 掌握線性表的基本概念,在兩種儲存結構下的構造原理及相應的操作;

4、 掌握堆疊和佇列的基本概念與特徵以及在兩種儲存結構下如何對堆疊和佇列進行插入和刪除等操作,具備使用堆疊與佇列解決實際問題的能力。

5、 掌握串的基本概念以及串的儲存結構和相關的演算法。

6、 掌握陣列、廣義表和稀疏矩陣的基本概念以及基本操作。

7、 掌握樹型結構的邏輯特徵以及各種儲存結構的構造原理,能夠熟練使用基於樹的三種遍歷方法。

8、 掌握二叉排序樹的邏輯特徵、建立過程,具備使用其解決實際問題的能力。

8、 瞭解圖的邏輯結構的特點以及常用的兩種儲存方法,瞭解最小生成樹(Prim演算法和Kruskal演算法)、最短路徑、拓撲排序的求解過程。

9、 掌握各種順序檔案的結構與相應的查詢方法以及各種查詢演算法之間時空效率的差異;瞭解雜湊檔案的建立、雜湊函式的選擇(構造)原則、處理雜湊衝突的方法以及瞭解雜湊檔案的建立、雜湊函式的選擇(構造)原則、處理雜湊衝突的方法以及基於雜湊的查詢。

10、 掌握各種排序方法的排序特點和排序過程,能夠對每一種排序方法在時間、空間、排序的穩定性等方面進行簡單分析。

程式設計

1、 掌握C語言的基本資料型別、各種運算子和表示式。

2、 掌握C語言的基本控制結構。

3、 掌握陣列的定義、陣列元素的引用、陣列的初始化,掌握與字串相關的庫函式。

4、 掌握函式的定義語法,掌握函式呼叫中引數的傳遞機制;掌握區域性變數和全域性變數的有效範圍,掌握auto、static、register、extern變數的概念及特性。

5、 掌握結構體型別變數的定義、結構體變數的引用、結構體變數的初始化方法,掌握結構體陣列的定義、初始化和結構體陣列的應用, 掌握共同體變數的定義和使用方法,掌握列舉型別的一般概念、定義格式及使用方法。

6、 掌握地址和指標的基本概念,重點掌握如何使用指標來處理陣列、字串以及結構體, 掌握函式指標的基本概念以及使用;

7、 瞭解位運算子的使用方法,能利用它們處理具體問題;瞭解位段的概念及使用規則。

8、 掌握FILE的定義以及對檔案進行的各種操作的庫函式。

 三、主要參考書目

1、資料結構(C語言版),嚴蔚敏、吳偉民,清華大學出版社,2012年;

2、C程式設計(第三版),譚浩強,清華大學出版社,2005年。