|
友情提示:本站提供全國400多所高等院校招收碩士、博士研究生入學考試歷年考研真題、考博真題、答案,部分學校更新至2012年,2013年;均提供收費下載。 下載流程: 考研真題 點擊“考研試卷””下載; 考博真題 點擊“考博試卷庫” 下載
1 碩士研究生入學統一考試 《程序設計與數據結構》科目大綱 (科目代碼:821) 學院名稱(蓋章):計算機科學與工程學院 學院負責人(簽字): 王彩芬 編 制 時 間: 2018 年 7 月 17 日 2 《程序設計與數據結構》科目考試大綱 (科目代碼:821 ) 一、考核要求 《程序設計》、《數據結構》兩門課程均是軟件工程專業的核心課程。學習 程序設計課程的主要目的是培養學生編寫程序的基本能力以及計算思維,掌 握程序設計語言(C 或 C++)的基本成分、語法規則等基本知識,建立起結構 化程序設計思想和方法,為以后系統學習其他專業課程奠定基礎。 而編寫程序、用計算機解決一個問題,就要將反映問題的數據信息存入計 算機,并設計能解決問題的算法。數據結構就是回答計算機如何存儲各種數 據及數據之間的關系,以及對數據做基本處理的算法實現。要求考生比較系 統地理解數據結構的基本概念和基本理論,掌握常用數據結構及其基本算法, 具有綜合運用數據結構知識解決問題的能力。 《程序設計與數據結構》的考核分為程序設計和數據結構兩部分,分值各 占 50%。程序設計部分考核學生對結構化程序設計方法和設計思想的掌握情 況以及獨立編程的能力;數據結構部分考核學生對常用數據結構以及相關基 本算法的掌握和運用能力。 二、考核評價目標 通過考核,選拔出具有較好的 C 或 C++語言編程能力和初步的數據結構軟 件設計開發能力的學生來攻讀軟件工程學科的碩士研究生。考核評價目標應 使錄取的研究生具有較扎實與系統的從事軟件工程學科的進一步學習及科研 工作所需的程序設計能力及系統軟件開發技能,為以后從事的研究、開發工 作提供必要的軟件基礎和基本技能。而對程序設計的具體編程語言、數據結 3 構的定義和算法描述語言,學生既可以選擇 C,也可以選擇 C++。 三、考核內容 程序設計部分(分值比例:50%) 第一章 程序基本知識與簡單程序設計 【考試內容】 C 或 C++程序的基本知識、簡單程序的設計 【考試要求】 (1)理解 C 或 C++程序的基本構成,變量的定義與變量名的基本規則; (2)領會類型修飾的使用和功能,整型與字符型數據的混合運算;宏常 量(或稱符合常量)的定義。 (3)掌握算術表達式、賦值表達式與逗號表達式;數據的輸入與輸出。 第二章 選擇結構程序設計 【考試內容】 條件選擇語句 if 和 switch 的語法及其應用 【考試要求】 (1)領會 if 語句與條件表達式的區別、switch 語句的執行流程。 (2)掌握 if 語句與 switch 語句在程序中的使用。 第三章 循環控制 【考試內容】 for、while、do-while 三種循環控制語句的語法特點和應用 【考試要求】 (1)理解 for、while、do-while 語句的執行流程及其循環條件表達式 4 的作用和它們在循環控制上的區別; (2)掌握 break 與 continue 語句的區別與應用 (3)能熟練地用三種循環語句進行循環程序設計。 第四章 函數與模塊化程序設計 【考試內容】 C 或 C++中函數的定義和使用 【考試要求】 (1)理解全局變量與局部變量、變量的生存期與作用域、變量的動態 與靜態存儲方式等的區別; (2)了解在多個程序文件中函數與函數的關系; (3)熟練掌握在程序設計中正確使用函數;對于已知的遞歸算法,能 寫出相應的遞歸程序。 第五章 數組 【考試內容】 一維和二維數組的定義及其應用 【考試要求】 (1)理解一維數組與二維數組的地址結構、字符串的結束標志; (2)掌握常用的幾個字符串函數; (3)掌握在程序設計中應用一維數組、二維數組、字符串; (4)掌握對數組進行簡單排序和查找的方法; (5)理解數組做函數參數的程序設計。 第六章 指針 5 【考試內容】 C 或 C++中指針的概念、定義、運算和應用 【考試要求】 (1)理解一維數組與二維數組的地址結構; (2)理解返回指針的函數與函數指針的區別; (3)理解指針數組、數組指針、指向指針的指針之間的關系與區別; (4)理解指針運算的用途和意義; (5)掌握在程序中利用指針操作數組元素、字符串,以及用指針作函 數參數;掌握在程序中應用指針數組。 第七章 結構體、共用體和枚舉類型數據 【考試內容】 結構體、共用體、枚舉等自定義數據類型的定義和運用 【考試要求】 (1)理解結構體與共用體的區別; (2)掌握結構體、共用體、枚舉類型數據的應用,會用 typedef 定義 結構體、共用體等數據類型別名。 第八章 預處理命令 【考試內容】 C 或者 C++中預處理命令的使用 【考試要求】 (1)理解執行預處理命令的時機、宏定義替換規則; (2)了解帶參宏定義與函數的區別; 6 第九章 位運算 【考試內容】 位運算的概念及其應用 【考試要求】 (1)理解位運算的概念、位段的概念; (2)理解如何在程序中應用位運算。 第十章 文件 【考試內容】 文件的打開和讀取 【考試要求】 (1)理解文件指針的概念和定義; (2)掌握文件的打開方法、文件打開函數返回值的處理; (3)掌握在程序中讀寫外部的文本文件或者二進制文件的方法。 數據結構部分(分值比例:50%) 第一章 基本概念 【考試內容 】 數據結構的基本概念;漸進算法分析方法。 【考試要求】 (1)掌握數據結構的概念,包括數據的邏輯結構、存儲結構、算法的 概念,以及它們之間的關系。 7 (2)掌握漸進算法分析方法,能夠估算算法的時空復雜度 第二章 線性表和字符串 【考試內容】 線性表的特點,線性表的順序實現和鏈式實現,線性表的應用;字符 串的基本運算,字符串匹配算法。 【考試要求】 (1)理解線性表的結構和特點,掌握線性表上基本操作的實現算法。 (2)掌握順序存儲線性表的方法以及基本操作的實現算法。 (3)掌握鏈接存儲線性表的方法,并掌握單鏈表和循環鏈表的結構, 以及基本操作的實現算法。 (4)理解字符串的存儲結構,字符串的基本運算。 (5)掌握字符串簡單的匹配算法。 第三章 棧和隊列 【考試內容】 棧和隊列的基本運算及其應用。 【考試要求】 (1)理解棧的定義和結構特點,掌握其存儲方式(順序存儲和鏈接存 儲)和基本操作的實現算法。 (2)理解隊列的結構和特點,掌握其存儲方式(順序存儲和鏈接存儲) 和基本操作的實現算法。 第四章 遞歸 【考試內容】 8 遞歸的基本概念,遞歸的簡單應用。 【考試要求】 (1)理解遞歸的基本概念和實現原理,掌握用遞歸思想描述問題和構 造算法的方法。 (2)掌握求階乘、漢諾塔等問題的遞歸解法。 (3)了解用棧將遞歸改為非遞歸的方法。 第五章 樹和二叉樹 【考試內容】 樹和二叉樹 【考試要求】 (1)理解樹的結構和定義,掌握樹的主要概念。 (2)理解各種二叉樹的結構,掌握其特點。 (3)掌握二叉樹的三種遍歷方法的實現原理和性質,能將二叉樹的遍 歷方法應用于求解二叉樹的葉子結點個數。二叉樹計數等問題, 掌握遍歷的非遞歸實現方法。 (4)理解樹的存儲結構,掌握樹的遍歷等方法的實現。 (5)理解霍夫曼編碼的基本原理。 第六章 集合和搜索 【考試內容】 集合、二叉搜索樹和 AVL 樹 【考試要求】 (1)理解集合的基本概念,掌握常用實現集合的各種存儲方法。 9 (2)掌握無序線性表的順序搜索、有序線性表的二分搜索。。 (3)理解二叉搜索樹的定義和特點,掌握二叉搜索樹插入和刪除的算 法。 (4)理解 AVL 樹的定義和特點,掌握 AVL 樹上插入新結點的方法。 第七章 圖 【考試內容】 圖的存儲,圖的遍歷,最小生成樹,最短路徑和活動網絡。 【考試要求】 (1)掌握圖的基本概念、圖的鄰接矩陣存儲方式和鄰接表存儲方式。 (2)掌握圖的深度優先遍歷和廣度優先遍歷方法。 (3)掌握 Kluskal 和 Prim 生成最小生成樹的方法。 (4)掌握 Dijkstra 求單源最短路徑的方法。 (5)掌握 AOV 活動網絡的拓撲排序方法,AOE 活動網絡的關鍵路徑的方 法。 第八章 排序 【考試內容】 插入排序、交換排序、選擇排序、歸并排序和基數排序。 【考試要求】 理解各種排序方法的實現,掌握各種排序算法的特點和時間復雜度,能 按指定的排序方法實現對數表做排序。 第九章 索引結構與散列 【考試內容】 10 線性索引結構、B+樹和 B-樹索引結構、散列。 【考試要求】 (1)理解線性索引結構的特點。 (2)理解 B+樹和 B-樹索引的結構,掌握 B+樹和 B-樹插入和刪除方法。 (3)理解散列的實現原理,能按指定的散列函數和解決沖突的方法構 造散列表。 四、參考書目 1. 《C 語言大學使用教程》(第二版) 蘇小紅等編著 電子工業出版社 2. 《數據結構(C 語言版)》 嚴蔚敏、吳偉民編著 清華大學出版社
免責聲明:本文系轉載自網絡,如有侵犯,請聯系我們立即刪除,另:本文僅代表作者個人觀點,與本網站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
|
|
|
上一篇文章: 2019年西北師范大學820電子技術考研大綱
下一篇文章: 2019年西北師范大學822化工原理考研大綱
|
|
|
|
|
|