贵州师范大学2019年硕士研究生入学初试大纲-829程序设计与数据结构考试大纲.doc
1贵州师范大学 2019 年硕士研究生入学考试大纲(科目:代码 829 名称 程序设计与数据结构)一、考查目标本复试题目包括计算机科学与技术专业两门主要课程:程序设计、数据结构,希望了解考生对该两门课程掌握的情况,主要考查:1、掌握结构化程序设计的基本方法,了解面向对象程序设计的基本思路,对两种方法编写的程序有读、改、写的能力,能实现计算机常用算法的编制。2、对计算机语言有较好的了解,能识别程序语言中的语法错误,能用像 C+等语言编程,知道程序设计技巧和程序设计风格。3、掌握数据结构的基本概念、基本原理和基本方法。4、各类数据结构的特征、操作、存储表示和应用。5、查找、内部排序与文件。6、各种算法性能的分析与评价。7、使用 C(或 C+)语言的风格描述算法和进行程序设计,具备综合应用相关知识分析问题和解决问题的能力。二、考试形式与试卷结构(一)试卷成绩及考试时间本试卷满分为 150 分。考试时间为 180 分钟。(二)答题方式笔试(三)试卷内容结构程序设计内容占 50 分,其中程序设计基本知识约 10 分、读程序和分析程序的能力约 25 分、写程序的能力约 15 分。数据结构内容占 100 分,其中数据结构基本知识约 30 分、算法分析与评价约 30 分、算法设计与综合应用约 40 分。(四)试卷题型结构选择题和填空题:共 40 分简答题和综合应用题(含读程序): 共 60 分设计与应用分析题(含编写程序):共 50 分三、考查范围2程序设计部分1、像程序设计语言 C/C+的发展,程序设计语言词、句子的组成,数据类型与表达式等概念,程序的基本组成,算法的概念和表示。2、程序设计的上机过程,运行调试中常见错误的鉴别。3、顺序结构、选择结构和循环结构语句的语法规定,能运用三种结构编写程序。4、了解常用的程序风格和规范。5、掌握函数组装程序的意义,对库函数、自定义函数、局部变量和全程变量有正确的知识,并能用函数进行程序设计,了解递归函数。6、对批量数据的处理,能正确运用数组或结构体进行程序设计,能熟练处理字符数据。7、了解指针、文件和异常处理、类与对象、封装、重载、继承的概念,能读懂面向对象程序。数据结构部分1、 抽象数据类型,数据的逻辑结构与存储结构,算法基本特性与算法分析方法。2、 线性表的定义、逻辑结构、存储结构、基本操作、基本算法性能的分析。3、 栈的定义、特性、存储结构、基本操作、基本算法性能的分析,栈与递归算法及其基本应用。4、 队列的定义、特性、存储结构、基本操作、基本算法性能的分析以及基本应用。5、 串的定义、基本概念、存储结构、基本操作及基本应用;6、 数组的类型定义、存储结构与基本操作;特殊矩阵和稀疏矩阵的压缩存储及运算的实现;广义表的定义、基本性质与存储结构。7、 树的基本概念和基本操作;二叉树的基本概念、性质及存储结构;遍历二叉树和线索二叉树;树的存储结构、树与二叉树之间的转换、森林与二叉树之间的转换、树和森林的遍历; 哈夫曼树(Huffman)及其应用。8、 图的基本概念和基本操作;图的存储结构;图的遍历、图的连通性问题;有向无环图、最短路径。9、 查找的概念;静态查找表、动态查找表、哈希表;各种查找算法的性能分析及其应用。10、内部排序的概念;插入排序、快速排序、选择排序、归并排序、基数排序;各种排序算法的评价(稳定性、时间复杂度、空间复杂性度)及其应用。11、文件的基本概念;顺序文件、索引文件。四、 样 题一、 单项选择题:1对下列关键字序列用快速排序法进行排序时,速度最快的情形是:【 】A25、23、30、17、21、5、9 B5、9、17、21、23、25、30C30、25、23、21、17、9、5 D21、25、5、17、9、23、303二、填空题:1广义表 D =( ),(e),(a,(b,c,d)的长度是【 】三、简答题:1请解释赫夫曼树与赫夫曼编码。四、综合应用题1仔细阅读下列程序,然后回答问题#includemain() int a,b,c,d;cina;b=a/100;c=a%100/10;d=a%10;coutdcbendl;上述程序的功能(或作用)是什么?答:四、算法设计与分析(含程序设计):1设线性表的存储定义如下:#define MAX 100typedef struct recKeyType key;ElemType data;elemnodeMAX;这里的 KeyType 和 ElemType 可以是任何相应的数据类型。请写出实现直接选择排序(即简单选择排序)的函数(这里的排序结果为升序):注意:如出现函数的调用,请将被调用函数的算法一起写出。void selectsort(elemnode r, int n)