中國科學(xué)院大學(xué)已經(jīng)公布了2017年碩士研究生入學(xué)考試程序設計考試大綱,下面是小編搜集整理的相關(guān)內容,供大家閱讀參考。
本《程序設計》考試大綱適用于中國科學(xué)院大學(xué)計算機科學(xué)與技術(shù)類(lèi)的碩士研究生入學(xué)考試。程序設計是計算機科學(xué)與技術(shù)及相關(guān)學(xué)科的重要基礎,主要內容包括數據結構和C程序設計兩大部分。要求考生對計算機科學(xué)與技術(shù)及相關(guān)學(xué)科的基本概念有較深入、系統的理解,掌握各種數據結構的定義和實(shí)現算法,對C語(yǔ)言的基本知識有較深入的了解,掌握程序設計的基本方法,并具有綜合運用所學(xué)知識分析問(wèn)題和解決問(wèn)題的能力。
一、考試內容
數據結構
1、緒論
(1)數據結構的基本概念,數據的邏輯結構、存儲結構。
(2)算法的定義、算法的基本特性以及算法分析的基本概念。
2、線(xiàn)性表
(1)線(xiàn)性關(guān)系、線(xiàn)性表的定義,線(xiàn)性表的基本操作。
(2)線(xiàn)性表的順序存儲結構與鏈式存儲結構(包括單鏈表、循環(huán)鏈表和雙向鏈表)的構造原理。在以上兩種存儲結構上對線(xiàn)性表實(shí)施的最主要的操作(包括三種鏈表的建立、插入和刪除、檢索等)的算法設計。
3、堆棧與隊列
(1)堆棧與隊列的基本概念、基本操作。
(2)堆棧與隊列的順序存儲結構與鏈式存儲結構的構造原理。
(3)在不同存儲結構的基礎上對堆棧與隊列實(shí)施插入與刪除等基本操作對應的算法設計。
4、串
(1)串的基本概念、串的基本操作和存儲結構。
(2)串的模式匹配算法和改進(jìn)的KMP算法
5、數組和廣義表
(1)數組的概念、多維數組的實(shí)現
(2)對稱(chēng)矩陣和稀疏矩陣的壓縮存儲
(3)廣義表的基本概念
6、樹(shù)與二叉樹(shù)
(1)樹(shù)的定義和性質(zhì)
(2)二叉樹(shù)的概念、性質(zhì)和實(shí)現
(3)遍歷二叉樹(shù)和線(xiàn)索二叉樹(shù)
(4)樹(shù)和森林
(5)赫夫曼樹(shù)及其應用
(6)樹(shù)的計數
7、圖
(1)圖的定義,基本概念,圖的分類(lèi),常用名詞術(shù)語(yǔ)。
(2)圖的鄰接矩陣存儲方法、鄰接表存儲方法的構造原理。
(3)圖的遍歷操作。
(4)最小生成樹(shù),最短路徑,AOV網(wǎng)與拓撲排序。
8、文件及查找
(1)數據文件的基本概念和基本術(shù)語(yǔ),數據文件的基本操作。
(2)順序文件、索引文件、散列(Hash)文件。
(3)順序文件的順序查找方法、排序連續順序文件的折半查找方法以及其他文件的基本查找方法。
9、內排序
(1)排序的基本概念,排序方法的分類(lèi)。
(2)插入排序法(含折半插入排序法)、選擇排序法、泡排序法、快速排序法、堆積排序法、歸并排序、基數排序。各種排序方法排序的原理、規律和特點(diǎn),各種排序算法的時(shí)空復雜度簡(jiǎn)單分析。
程序設計
1、基本知識
(1)C語(yǔ)言的數據類(lèi)型
(2)C語(yǔ)言中各種類(lèi)型常量的表示法
(3)各類(lèi)數值型數據間的混合運算
(4)C運算符
(5)關(guān)系表達式及運算,邏輯表達式及運算
2、順序、選擇與循環(huán)結構程序設計
(1)賦值語(yǔ)句,格式輸入與輸出
(2)if語(yǔ)句,switch語(yǔ)句
(3)goto、while、do-while、for、break、continue語(yǔ)句
3、數組
(1)一維數組的定義和引用
(2)二維數組的定義和引用
(3)字符數組的定義和引用
4、函數
(1)函數定義與調用
(2)局部變量和全局變量
(3)變量的存儲類(lèi)型
(4)內部函數與外部函數
5、指針
(1)地址和指針的概念
(2)數組的指針和指向數組的指針變量
(3)字符串的指針和指向字符串的指針變量
(4)函數的指針和指向函數的指針變量
(5)指針數組和指向指針的數組
6、結構體和共同體
(1)結構體變量的定義和使用方法
(2)指向結構體類(lèi)型變量的指針
(3)用指針處理鏈表
(4)共同體變量的定義和使用方法
(5)枚舉類(lèi)型
7、位運算
(1)位運算符和位運算
(2)位段
8、文件
(1)文件類(lèi)型指針
(2)文件操作,包括打開(kāi)、關(guān)閉、讀寫(xiě)和定位等。
二、考試要求
數據結構
1、 掌握有關(guān)數據結構的基本概念,包括數據的邏輯結構、存儲結構。
2、 掌握算法的基本概念以及算法分析的基本方法。
3、 掌握線(xiàn)性表的基本概念,在兩種存儲結構下的構造原理及相應的操作;
4、 掌握堆棧和隊列的基本概念與特征以及在兩種存儲結構下如何對堆棧和隊列進(jìn)行插入和刪除等操作,具備使用堆棧與隊列解決實(shí)際問(wèn)題的能力。
5、 掌握串的基本概念以及串的存儲結構和相關(guān)的算法。
6、 掌握數組、廣義表和稀疏矩陣的基本概念以及基本操作。
7、 掌握樹(shù)型結構的邏輯特征以及各種存儲結構的構造原理,能夠熟練使用基于樹(shù)的三種遍歷方法。
8、 掌握二叉排序樹(shù)的邏輯特征、建立過(guò)程,具備使用其解決實(shí)際問(wèn)題的能力。
8、 了解圖的邏輯結構的特點(diǎn)以及常用的兩種存儲方法,了解最小生成樹(shù)(Prim算法和Kruskal算法)、最短路徑、拓撲排序的求解過(guò)程。
9、 掌握各種順序文件的結構與相應的查找方法以及各種查找算法之間時(shí)空效率的差異;了解散列文件的建立、散列函數的選擇(構造)原則、處理散列沖突的方法以及了解散列文件的建立、散列函數的選擇(構造)原則、處理散列沖突的方法以及基于散列的查找。
10、 掌握各種排序方法的排序特點(diǎn)和排序過(guò)程,能夠對每一種排序方法在時(shí)間、空間、排序的穩定性等方面進(jìn)行簡(jiǎn)單分析。
程序設計
1、 掌握C語(yǔ)言的基本數據類(lèi)型、各種運算符和表達式。
2、 掌握C語(yǔ)言的基本控制結構。
3、 掌握數組的定義、數組元素的引用、數組的初始化,掌握與字符串相關(guān)的庫函數。
4、 掌握函數的定義語(yǔ)法,掌握函數調用中參數的傳遞機制;掌握局部變量和全局變量的有效范圍,掌握auto、static、register、extern變量的概念及特性。
5、 掌握結構體類(lèi)型變量的定義、結構體變量的引用、結構體變量的初始化方法,掌握結構體數組的定義、初始化和結構體數組的應用, 掌握共同體變量的定義和使用方法,掌握枚舉類(lèi)型的一般概念、定義格式及使用方法。
6、 掌握地址和指針的基本概念,重點(diǎn)掌握如何使用指針來(lái)處理數組、字符串以及結構體, 掌握函數指針的基本概念以及使用;
7、 了解位運算符的使用方法,能利用它們處理具體問(wèn)題;了解位段的概念及使用規則。
8、 掌握FILE的定義以及對文件進(jìn)行的各種操作的庫函數。
三、主要參考書(shū)目
1、數據結構(C語(yǔ)言版),嚴蔚敏、吳偉民,清華大學(xué)出版社,2012年;
2、C程序設計(第三版),譚浩強,清華大學(xué)出版社,2005年。