一、總體要求
要求考生具備綜合運用所學知識進行基本的問題分析的能力;利用計算機求解問題、設計算法并用C語言編程解決問題的能力:1.掌握C語言編程基本知識;2.掌握現(xiàn)實世界數(shù)據(jù)在計算機中如何表示和處理;3.具備良好的程序設計技能;4. 掌握各種數(shù)據(jù)結構的基本特征、操作方式和實現(xiàn)的方法;5. 具備抽象思維能力、邏輯推理能力。
二、內(nèi)容范圍
(一)程序設計基礎知識
掌握C語言的基本數(shù)據(jù)類型、變量和常量的定義和使用;整型數(shù)據(jù)和字符型數(shù)據(jù)在計算機內(nèi)的編碼形式;格式化輸入和輸出的基本用法;運算符及表達式的定義及用法、運算符的優(yōu)先級。
(二)程序設計基本方法
掌握順序、分支、循環(huán)三種結構的基本語法及綜合運用;函數(shù)的定義、聲明和調(diào)用;能夠規(guī)范地進行代碼設計與編寫;
(三)復合數(shù)據(jù)類型
掌握一維數(shù)組、二維數(shù)組的定義及使用方法;了解一維數(shù)組數(shù)據(jù)在內(nèi)存中的存放方式;
掌握地址和指針的概念,及C語言中指針變量的定義及使用方法;掌握指向一維數(shù)組的指針的概念及使用指針處理一維數(shù)組數(shù)據(jù)的方法;了解指針變量的加減法運算的含義和應用、指針變量做函數(shù)參數(shù)進行數(shù)據(jù)處理等知識。
掌握結構體數(shù)據(jù)類型的含義、定義及使用方法;掌握結構體數(shù)組、結構體指針的定義和訪問方法;了解結構體變量的成員在內(nèi)存中的存儲方式;了解枚舉類型、共用體類型。
(四)線性結構
掌握線性表的順序存儲、鏈式存儲概念及編程實現(xiàn)方法;掌握棧的概念、基本操作及編程實現(xiàn)方法;掌握隊列的概念、基本操作,能夠編程實現(xiàn)循環(huán)隊列的基本操作。
了解各類矩陣的壓縮存儲和基本運算的實現(xiàn)方法;了解串的概念及模式匹配算法。
(五)樹型結構
掌握樹型結構的基本概念及雙親表示法、孩子表示法、孩子兄弟表示法等樹形結構的存儲方式;掌握二叉樹的定義、性質(zhì)、樹和二叉樹的轉換方法;能夠編程實現(xiàn)順序、鏈表方式實現(xiàn)二叉樹的存儲;掌握二叉樹的前序、中序及后序遍歷算法并能夠編程實現(xiàn)。
了解森林和二叉樹的轉換、線索樹、哈夫曼樹的概念、及構造哈弗曼樹的方法及其應用。
(六) 圖型結構
掌握圖、鄰接矩陣、鄰接表的概念,并能夠編程實現(xiàn)圖的存儲;掌握圖的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法;掌握最小生成樹的概念,能夠用普利姆算法和克魯斯卡爾算法構造圖的最小生成樹。
了解圖的逆鄰接表、十字鏈表存儲方式;了解迪卡斯特算法求圖的單源最短路徑。
(七)查詢與排序
掌握順序查找、折半查找算法并能編程實現(xiàn);掌握散列表的查找算法、散列函數(shù)的構造及沖突處理辦法;掌握冒泡排序、插入排序、簡單選擇排序、快速排序、堆排序、歸并排序等排序算法;能夠編程實現(xiàn)冒泡排序、插入排序和快速排序算法。
了解二叉搜索樹、AVL樹;了解常用排序方法的優(yōu)缺點及時間和空間復雜度分析。
三、參考教材
《C語言程序設計(第三版)》,譚浩強編著,清華大學出版社。
《數(shù)據(jù)結構(C語言版)》,嚴蔚敏、吳偉民著,清華大學出版社。