2022年山東青年政治學(xué)院專升本自薦計算機(jī)科學(xué)與技術(shù)專業(yè)考試科目《C語言程序設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》,兩科考試總分滿分200分,考試大綱要求如下
5.1《C語言程序設(shè)計》考試要求
?、? 考試要求
本科目考試要求考生掌握必要的基本概念、基本理論、較熟練的運(yùn)算能力。主要考查學(xué)生識記、理解和應(yīng)用能力,為進(jìn)一步學(xué)習(xí)奠定基礎(chǔ)。具體內(nèi)容與要求如下:
一、C語言的結(jié)構(gòu)
1.程序的構(gòu)成,main函數(shù)和其他函數(shù);
2.頭文件,數(shù)據(jù)說明,函數(shù)的開始和結(jié)束標(biāo)志。
二、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
1.C的數(shù)據(jù)類型(常量與變量,整型,實(shí)型,字符類型,指針類型)及其定義方法;
2.C運(yùn)算符的種類、運(yùn)算優(yōu)先級和結(jié)合性;
3.不同類型數(shù)據(jù)間的轉(zhuǎn)換與運(yùn)算;
4.C表達(dá)式類型(賦值表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式、逗號表達(dá)式)和求值規(guī)則;
5.數(shù)據(jù)的輸入和輸出,輸入輸出函數(shù)的使用。
三、程序基本結(jié)構(gòu)
(一)選擇結(jié)構(gòu)程序設(shè)計
1.用if語句實(shí)現(xiàn)選擇結(jié)構(gòu);
2.用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu);
3.選擇結(jié)構(gòu)的嵌套。
(二)循環(huán)結(jié)構(gòu)程序設(shè)計
1.while和do while循環(huán)結(jié)構(gòu);
2.for循環(huán)結(jié)構(gòu);
3.continue語句和break語句;
4.循環(huán)的嵌套。
四、數(shù)組的定義和引用
1.一維數(shù)組、二維數(shù)組的定義、初始化和引用方法;
2.一維數(shù)組的應(yīng)用(如排序),二維數(shù)組的應(yīng)用(如矩陣運(yùn)算);
3.字符數(shù)組的定義、初始化和輸入輸出方法;
4.字符串與字符串處理函數(shù)的使用;
5.用二維數(shù)組處理多個字符串。
五、函數(shù)
1.函數(shù)的定義方法;
2.函數(shù)的類型和返回值;
3.形式參數(shù)與實(shí)在參數(shù)的兩種傳遞方式;
4.函數(shù)的正確調(diào)用方法;
5.局部變量和全局變量;
6.變量的存儲類別(自動、靜態(tài)、外部),變量的作用域和生存期。
六、指針
1.指針與指針變量的概念,指針與地址運(yùn)算符;
2.指向變量、數(shù)組、字符串、函數(shù)的指針變量;
3.通過指針引用以上各類型數(shù)據(jù);
4.用指針作函數(shù)參數(shù)。
七、結(jié)構(gòu)體
1.結(jié)構(gòu)體類型數(shù)據(jù)的定義方法和引用方法;
2.結(jié)構(gòu)體嵌套和用指針引用結(jié)構(gòu)體成員;
3.結(jié)構(gòu)體數(shù)組的應(yīng)用。
八、文件操作
1.C語言中的文件類型;
2.文件類型指針(FILE類型指針);
3.文件的打開與關(guān)閉(fopen,fclose);
4.文件的讀寫(fputc,fgetc, fread,fwrite函數(shù));
5.文件狀態(tài)檢測(feof函數(shù))。
Ⅱ. 考試形式與題型
一、考試形式
考試采用閉卷、線上考試形式。試卷滿分100分,考試時間60分鐘。
二、題型
考試題型從以下類型中選擇:選擇題、判斷題、程序設(shè)計題、修改程序題、寫程序結(jié)果題。
5.2《數(shù)據(jù)結(jié)構(gòu)》考試要求
Ⅰ. 考試要求
本科目考試內(nèi)容包括各種數(shù)據(jù)組織中的數(shù)據(jù)邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)以及有關(guān)操作的算法,內(nèi)容涉及線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖狀結(jié)構(gòu)、查找和排序。考查要求可劃分為“了解”、“理解”和“掌握”三個層次,旨在考查考生對各類數(shù)據(jù)結(jié)構(gòu)進(jìn)行運(yùn)用的熟練程度、考生的計算思維以及考生運(yùn)用和設(shè)計算法解決現(xiàn)實(shí)應(yīng)用問題的能力。具體內(nèi)容與要求如下:
一、基本概念與算法分析基礎(chǔ)
(一)了解數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)、數(shù)據(jù)對象、數(shù)據(jù)結(jié)構(gòu)、邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、數(shù)據(jù)類型和抽象數(shù)據(jù)類型的基本概念。掌握數(shù)據(jù)邏輯結(jié)構(gòu)和數(shù)據(jù)存儲結(jié)構(gòu)的分類。
(二)了解算法定義、性質(zhì)、設(shè)計策略以及評價標(biāo)準(zhǔn),理解算法與程序的區(qū)別。
(三)理解問題規(guī)模、語句頻度、時間復(fù)雜性、空間復(fù)雜性的概念。掌握對非遞歸算法進(jìn)行時間復(fù)雜性和空間復(fù)雜性分析的方法。
二、線性結(jié)構(gòu)
(一)理解線性表的概念、特點(diǎn)和抽象數(shù)據(jù)類型定義。
(二)掌握順序表的實(shí)現(xiàn)方式、性質(zhì)以及各種基本運(yùn)算(取值、插入、刪除、查找)。掌握單鏈表的實(shí)現(xiàn)方式、性質(zhì)以及各種基本運(yùn)算(取值、插入、刪除、查找、創(chuàng)建)。理解單鏈表的變形(循環(huán)單鏈表、雙向鏈表)以及基本運(yùn)算(插入、刪除)。理解順序表與單鏈表在時空性能方面的差別。
(三)理解棧的概念以及抽象數(shù)據(jù)類型定義。掌握棧的兩種存儲結(jié)構(gòu)實(shí)現(xiàn)以及各種基本運(yùn)算(元素入棧、元素出棧、取棧頂元素)。了解棧的現(xiàn)實(shí)應(yīng)用。
(四)理解隊(duì)列的概念以及抽象數(shù)據(jù)類型定義。掌握隊(duì)列的兩種存儲結(jié)構(gòu)實(shí)現(xiàn)以及各種基本運(yùn)算(元素入隊(duì)、元素出隊(duì)、取隊(duì)頭元素),理解標(biāo)準(zhǔn)順序隊(duì)列與循環(huán)隊(duì)列之間的差別,掌握循環(huán)隊(duì)列基本運(yùn)算(求隊(duì)列長度、元素入隊(duì)、元素出隊(duì)、取隊(duì)頭元素)。了解隊(duì)列的現(xiàn)實(shí)應(yīng)用。理解棧與隊(duì)列在操作和應(yīng)用方面的差別。
(五)了解數(shù)組的抽象數(shù)據(jù)類型定義。掌握數(shù)組的順序存儲結(jié)構(gòu)以及該結(jié)構(gòu)下的地址計算方法。了解特殊矩陣、稀疏矩陣的壓縮存儲方法。
(六)理解字符串的概念、基本操作(串賦值、串比較、求串長、串聯(lián)接、求子串)以及抽象數(shù)據(jù)類型定義。了解字符串的存儲結(jié)構(gòu)。理解字符串模式匹配的BF(Brute-Force)算法。
(七)理解廣義表的相關(guān)概念(廣義表、廣義表長度、表頭、表尾),掌握廣義表的基本操作(取表頭、取表尾),了解廣義表的存儲結(jié)構(gòu)。
三、樹型結(jié)構(gòu)
(一)理解樹的定義以及相關(guān)概念(結(jié)點(diǎn)、度、葉子、非終端結(jié)點(diǎn)、雙親、孩子、兄弟、祖先、子孫、層次、堂兄弟、深度、有序樹、無序樹、森林)以及樹的抽象數(shù)據(jù)類型定義。
(二)掌握二叉樹的定義、性質(zhì)、各種存儲結(jié)構(gòu)和遍歷算法(前序遍歷、中序遍歷、后序遍歷和層次遍歷)。了解線索二叉樹的概念、分類、存儲結(jié)構(gòu)及線索化算法。
(三)掌握樹的三種存儲結(jié)構(gòu)(雙親表示法、孩子表示法、孩子兄弟表示法)以及樹、森林與二叉樹間的相互轉(zhuǎn)換方法。理解樹和森林的遍歷算法。
(四)掌握哈夫曼樹的定義以及相關(guān)概念(路徑、路徑長度、樹的路徑長度、權(quán)、結(jié)點(diǎn)的帶權(quán)路徑長度、樹的帶權(quán)路徑長度),理解哈夫曼編碼的基本思想,掌握哈夫曼樹的構(gòu)造方法以及哈夫曼編碼方法。
四、圖狀結(jié)構(gòu)
(一)理解圖的基本概念(有向圖、無向圖、子圖、有向完全圖、無向完全圖、稀疏圖、稠密圖、權(quán)、網(wǎng)、鄰接點(diǎn)、度、入度、出度、路徑、路徑長度、回路、環(huán)、簡單路徑、連通圖、連通分量、強(qiáng)連通圖、強(qiáng)連通分量、連通圖的生成樹)。掌握圖的鄰接矩陣和鄰接表存儲結(jié)構(gòu),理解這兩種存儲結(jié)構(gòu)的優(yōu)缺點(diǎn)。
(二)理解圖的兩種遍歷的基本思想,掌握圖的兩種遍歷算法。
(三)掌握最小生成樹的概念以及求圖的最小生成樹的算法(Kruskal和Prim算法)。
(四)掌握求圖的單源最短路徑問題算法(Dijkstra算法)以及所有頂點(diǎn)間最短路徑問題算法(Floyd算法)。
(五)理解頂點(diǎn)表示活動網(wǎng)絡(luò)(AOV網(wǎng))的概念,掌握求拓?fù)渑判虻乃惴ā?/span>
(六)理解邊表示活動網(wǎng)絡(luò)(AOE網(wǎng))的概念,掌握求關(guān)鍵路徑的算法。
五、散列與查找算法
(一)理解查找相關(guān)概念(查找表、關(guān)鍵字、動態(tài)查找表、靜態(tài)查找表)及基于平均查找長度的效率評價方法。
(二)理解散列查找的基本思想和沖突的概念。了解散列函數(shù)的構(gòu)造方法以及沖突處理方法。
(三)掌握順序查找算法、折半查找算法,理解分塊查找算法。
(四)了解二叉排序樹、平衡二叉樹、B-樹和B+樹的概念。
六、排序算法
(一)掌握典型的插入排序算法(直接插入排序、希爾排序)。
(二)掌握典型的交換排序算法(起泡排序、快速排序)。
(三)了解典型選擇排序算法的基本思想(簡單選擇排序、錦標(biāo)賽排序、堆排序)。
(四)了解歸并排序和基數(shù)排序的基本思想。
Ⅱ. 考試形式與題型
一、 考試形式
考試采用閉卷、線上考試形式。試卷滿分100分,考試時間60分鐘。
二、 題型
考試題型從以下類型中選擇:單項(xiàng)選擇題、判斷題、辨析題、簡答題、操作題、綜合應(yīng)用題、算法設(shè)計題。