《數據結構與算法分析》考試大綱
課程名稱:
數據結構與算法
適用專業(yè):
數據科學與大數據技術
采用教材:
數據結構與算法,彭軍,向毅主編,人民郵電出版社;
其他參考書目:
數據結構與算法,瞿有甜主編,清華大學出版社;
一、考試的基本要求
理解數據結構的基本概念;掌握數據的邏輯結構、存儲結構及其差異,以及各種基本操作的實現。 掌握基本數據處理原理和方法的基礎上,能夠對算法進行基本的時間復雜度與空間復雜度設計與分析。 能夠選擇合適的數據結構和方法進行問題求解,具備采用 C++語言設計與實現算法的能力。
二、考試方法、時間、題型大致比例
1.考核方式:考試
2.考試時間:100分鐘
3.題型大致比例
1、選擇題 約占20%
2、填空題 約占10%
3、名詞解釋與簡答題 約占20%
4、簡單應用題 約占40%
5、算法設計題 約占10%
三、考試內容及考試要求
第一章、數據結構和算法的基本概念
(1)了解數據結構的基本概念,包括邏輯結構、物理結構的基本概念、兩者之間的區(qū)別與聯(lián)系。
(2)了解算法的基本概念和性質。
(3)了解算法復雜度的基本概念,掌握對非遞歸代碼的復雜度計算基本方法。
第二章、線性表
(1)了解線性表的邏輯結構定義。
(2)掌握線性表的順序結構實現,以及順序結構下基本操作的實現,能寫出操作代碼。
(3)掌握線性表的鏈式結構實現,以及鏈式結構下基本操作的實現,能寫出操作代碼。
第三章、棧與隊列
(1)掌握棧的基本概念、棧的性質。
(2)了解棧與遞歸的關系,能夠編寫遞歸算法。
(3)掌握隊列的基本概念和性質。
(4)掌握棧和隊列的應用方法,能夠運用棧和隊列解決簡單應用問題。
第四章、樹和二叉樹
(1)了解樹的定義和性質。
(2)了解二叉樹的概念。
(3)掌握二叉樹的基本性質,并能夠進行描述和證明。(包括深度與最大結點數的關系性質、每層最大結點數性質、結點數與最小深度的關系性質、n2=n0-1性質、完全二叉樹序號與結點關系性質等)
(4)掌握二叉樹的前序遍歷、中序遍歷、后序遍歷和層次遍歷規(guī)則,能夠手工計算二叉樹的遍歷序。
(5)掌握二叉樹的遍歷性質,能夠根據前序+中序或中序+后序還原出二叉樹。
(6)掌握二叉樹的前序、中序和后序遞歸遍歷算法,并結合相關性質解決實際應用問題。
了解線索化二叉樹的概念。
第五章、圖
(1)了解圖的定義,掌握頂點、邊之間的關系。
(2)掌握圖的鄰接矩陣、鄰接表的實現方法。
(3)掌握圖的深度優(yōu)先和廣度優(yōu)先遍歷算法,能夠手工計算圖的深度優(yōu)先遍歷序和廣度優(yōu)先遍歷序。
第六章、查找
(1)掌握靜態(tài)表的概念和折半查找算法,能夠進行手工計算。
(2)掌握散列表的基本概念,散列函數的基本設計技巧,。
(3)掌握二叉排序樹的概念,以及二叉排序樹上的查找、插入、刪除算法,能夠進行手工計算。
第七章、內排序
(1)掌握簡單選擇排序、直接插入排序、交換排序的算法思想和步驟,能夠寫出排序過程。
(2)了解各種排序方法的特點,能夠針對特定問題背景選擇適當的排序方法。
《C語言程序設計》考試大綱(專升本)
課程名稱:
C語言程序設計
適用專業(yè):
數據科學與大數據技術
采用教材:
C程序設計(第五版),譚浩強 主編,清華大學出版社;
其他參考書目:
《C語言程序設計》,陳廣紅 主編,武漢大學出版社;
一、考試的基本要求
考生應按本大綱的要求了解或理解“C語言程序設計”中的數據類型、運算符與表達式、順序結構、選擇結構、循環(huán)控制、數組、函數、指針、預處理命令、結構體與共用體、文件的基本概念。熟練掌握程序設計的基本方法和C語言本身的語法、語句和使用方法。掌握一般問題的分析思路、數據存儲結構表達及建立在存儲結構之上的程序設計方法,具備初步運用C語言解決問題的程序設計能力;能熟練地閱讀、理解和編制簡單的C程序;具備進一步學習計算機各專業(yè)后續(xù)課程的能力和基礎。
二、考試方法、時間、題型大致比例
1.考核方式:考試
2.考試時間:100分鐘
3.題型大致比例
正誤判斷題 占10%
單項選擇題 占40%
綜合題(包括寫程序結果、改正程序錯誤和程序填空等) 占30%
編程題 占20%。
三、考試內容及考試要求
第一章、數據類型、運算符與表達式
⑴理解關鍵字與標識符的概念、應用特點,理解數據類型的含義和常量、變量的分類。
⑵掌握各數據類型的含義、特點,不同類型常量的表達,不同類型變量的定義和賦初值方法。
⑶熟練掌握各類運算符的含義、優(yōu)先級,各類表達式的表示方法、運算特點、值的類型和計算方法。能夠進行各類公式的表達式描述和各類表達式的混合運算。
第二章、順序結構程序設計
⑴了解數據輸入輸出的概念以及在C語言中的實現方法。
⑵掌握賦值語句表達方法;掌握兩組輸入輸出函數的格式、表達方式和使用功能、特點。
⑶熟練掌握順序程序設計的思想和編程方法,能夠熟練編寫簡單問題的程序并上機調試。
第三章、選擇結構程序設計
⑴掌握問題中條件的表達方式(關系表達式、邏輯表達式)和運算結果。
⑵熟練掌握編程中條件的描述方法(用不同格式的if語句或switch語句)和使用方法,能夠進行各種條件下的問題的程序設計。
第四章、循環(huán)程序設計
⑴了解循環(huán)的概念,解決語句重復執(zhí)行的方法。
⑵理解各種實現循環(huán)的語句的執(zhí)行過程、執(zhí)行步驟和相關參數量的變化情況,理解break和continue的使用形式和理由。
⑶掌握循環(huán)語句的格式和應用特點,掌握循環(huán)程序設計的方法。
第五章、數組
⑴了解數組的基本概念。
⑵掌握不同類別數組的特點,掌握數組的定義、初始化和數組元素引用方法;掌握數組的實際應用方式、特點和程序設計方法。
第六章、函數
⑴理解一般問題的解決方法和程序的結構化、模塊化設計思想,理解函數的調用方法,理解變量的數據類型、存儲類別,理解內部函數與外部函數的含義。
⑵掌握函數定義的一般格式,掌握形式參數的表達方式,函數返回值類型和返回值的表達方式,掌握函數調用的方法、特點和不同調用形式(嵌套調用、遞歸調用),掌握局部變量、全局變量的定義方法和聲明形式。
第七章、指針
⑴理解指針的概念、特點,理解指針的分類、指針的數據類型描述。
⑵掌握指針的含義、不同類型指針與所指變量、數組、字符串、函數等的內在聯(lián)系。
第八章、預處理命令
⑴理解預處理的含義和理由,理解文件包含的含義和宏的含義。
⑵區(qū)分宏與函數的異同點;掌握文件包含命令的使用方法。
第九章、 結構體與共用體
⑴了解C語言基本類型與構造類型的含義,了解類型聲明與變量等定義的區(qū)別。
⑵掌握結構體、共用體、枚舉類型的聲明方法和相應變量等的定義、初始化、引用方法。
第十章、文件
⑴了解文件的含義、分類和特點。
⑵理解文件指針的使用方法,掌握文件打開與關閉、文件讀寫、文件定位和出錯檢測函數的使用方法。
⑶掌握不同問題使用文件的定義和操作方法。