算法分析与设计考试大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《算法分析与设计》考试大纲
一、考试大纲的性质
为帮助考生明确考试复习范围和有关要求,特制定本考试大纲。

二、考试范围和内容
第一章数据结构基本概念
1.算法的概念和算法的时间复杂度分析
要点:➢利用大O规则计算时间复杂性,对于一般算法能分析出时间复杂度。

第二章线性表和数组
1、线性表
1.1 线性表的逻辑结构
1.2 线性表的数组实现
1.3 线性表的指针实现——链表
1.4 特殊链表
要点:➢掌握数组实现的特点
➢掌握链表的实现方法,包括单链表,双向链表、循环链表
2、数组
2.1作为抽象数据类型的数组:数组的定义、数组的按行顺序存储与按列顺序存储2.2 矩阵的压缩存储
要点:➢确定数组元素的三要素:行号、列号、元素值
➢数组元素的存放地址计算
➢稀疏矩阵的存储方法
第三章栈与队列
1、栈:栈的特性、栈的基本运算
要点:➢栈的数组实现、栈的链表实现
➢栈满及栈空条件
2、队列:队列的特性、队列的基本运算
要点:➢队列的数组实现:循环队列中队头与队尾指针的表示,队满及
队空条件
➢队列的链表实现:链式队列中的队头与队尾指针的表示、
3、算术表达式计算:用后缀表示计算表达式,中缀表示改后缀表示
第四章树
1、树:树的定义、树的基本运算
要点:➢树的分层定义是递归的
➢树的一些常用术语,如结点,树根,度,树叶,树的深度等
➢树中结点个数与高度的关系
➢树的几种存储形式
2、二叉树:二叉树定义、二叉树的基本运算
要点:➢二叉树性质、二叉树中结点个数与高度的关系、不同种类的二
叉树棵数
➢有序树和二叉树的转化
➢二叉树的前序·中序·后序遍历的递归算法
3、二叉排序树:二叉排序树的定义及操作
要点:➢二叉排序树的查找算法
4、穿线二叉树:概念,存储形式
要点:➢用游标实现穿线二叉排序树
5、哈夫曼树:哈夫曼树的构造方法、哈夫曼编码、带权路径长度的计算
要点:➢哈夫曼树是带权路径长度最小的扩充二叉树
➢构造哈夫曼树时,按构造算法,每次具最小关键码的子树是根的左子树,具次小关键码的子树是根的右子树
➢在构造过程中,新二叉树按根的权值加入到森林的最后
第五章无向图
1、图:图的定义与图的存储表示
要点:➢邻接/代价邻接矩阵表示
➢邻接表表示
➢邻接多重表表示
➢边表表示
2、深度优先遍历与广度优先遍历
要点:➢深度优先搜索算法和广度优先搜索算法
➢深度优先搜索是个递归的过程,而广度优先搜索是个非递归的过程
➢为防止重复访问已经访问过的顶点,需要设置一个访问标志数组visited
3、图的连通性
要点:➢深度优先搜索可以遍历一个连通分量上的所有顶点
➢对非连通图进行遍历,可以建立一个生成森林
第六章有向图
1、有向图的概念
要点:➢有向图的强连通的概念
第七章集合和查找技术
1、集合
要点:➢用位向量实现集合的操作
2、查找表
要点:➢对有序顺序表的顺序搜索算法
➢对有序顺序表的折半搜索算法
第八章排序
1、基本概念:关键字、关键字比较次数、数据移动次数、稳定性
2、熟悉常用排序算法的稳定性、算法的复杂度
3、简单排序方法
3.1 插入排序
要点:➢直接插入、折半插入算法的原理和实现方法
3.2 选择排序
要点:➢算法的原理和实现方法
3.3 冒泡排序
要点:➢算法的原理和实现方法
4、分治法排序
4.1 合并排序
要点:➢算法的原理和实现方法
➢针对给定的输入实例,写出排序过程
4.2 快速排序
要点:➢算法的原理和实现方法
➢快速排序是一个递归的排序方法
➢当待排序关键码序列已经基本有序时,快速排序显著变慢
➢针对给定的输入实例,写出排序过程
5、比较型排序方法
5.1 堆排序
要点:➢算法的原理
5.2 希尔排序
要点:➢算法的原理
6、各种排序方法的比较(时间复杂性、稳定性方面)
三、试卷题型
选择、算法实现(图示)
四、主要参考书
1.数据结构教程. 陆松年编著,科学出版社,2003。

2.数据结构(C语言版). 严渭敏等著,清华大学出版社,1997。

相关文档
最新文档