
数据结构复习大纲.docx
7页一、 考试题型(30+40+30)二、 复习素材a) 看所有做过的作业,包括后来补充的但没有交和讲解的题目.b) 手里的材料可做参考,全部题目会做考试也不成问题c) 课件d) 本复习大纲e) 实验题中的主要类的方法实现第一章1、 四类数据结构,集合、线性表、树、图,线性表、树、图元素之 间的关系分别为一对一,一对多,多对多的关系2、 计算某一条语句执行次数3、 时间复杂度计算,可能与后面的一些算法结合,比如排序算法、查找算法的时间效率及比较第二章栈1、 栈的抽象数据类型定义和基本操作2、 栈的特点、性质(LIFO, overflow, underflow, push, pop 后栈的状态)3、 栈的类定义及顺序实现(包括各个方法的具体实现)4、 栈的应用:数据逆置算法、括号匹配的判断、后缀表达式求值 算法5、写中缀、后缀、前缀表达式第三章队列1、 掌握队列的抽象数据类型定义和基本操作、扩展的队列操作2、 队列的特点、性质(先进先出,入队、出队后不改变原序列)3、 队列的类定义及顺序实现,顺序队列产生的假溢出问题!如何 解决?4、 利用循环队列产生的问题?有哪些解决方案?5、 循环队列实现算法。
包括各个方法的具体实现)第四章链栈和链队列1、 链表结点类定义p 1232、 不使用safeguards的链栈(链队列,链表),可能会产生的一 些问题剖析!如垃圾的累积,破坏封装特性等问题!举例说明? P131-1363、 链栈类定义、具体实现(包括各个方法的具体实现)4、 链队列定义、具体实现(包括各个方法的具体实现) 第五章递归1、 简单递归算法实现2、 汉诺塔算法实现过程3、 递归算法递归树的画法,汉诺塔算法递归树的画法 fits: 、.第六章1、 线性表的概念和基本操作2、 顺序线性表的类定义和实现3、 两种单链表的实现算法5、 掌握串的概念和基本操作P236-240,构造函数的实现,利用c串实现strcat,strncpy, strstr等操作线性表下的算法实现第七章1、 各查找(顺序查找/两种二分查找)算法的递归算法和非递归算法实现2、 画比较树,利用查找树分析平均比较次数ASL3、 查找算法效率分析和比较查找方法存储结构要求时间效率优缺点查找原理顺序查找顺序结构或链式结构的线性 表O(n)当n较大时,查找 比较耗时从线性表的头部对每 个记录依次进行比较, 直至找到一个与目标 关键字相同的记录,或 直到表尾都无法找到, 则为失败的查找。
二分查找顺序存储结构、 元素已有序O(logn)需要事先保持记 录有序按照逐渐缩小被查区 间的方法进行查找二叉查找树查 找二叉链表结构, 记录按照二叉 查找树的要求 进行排序在理想状态,O(logn)二叉查找树的形 态影响其查找性 能在二叉查找树下进行 查找,如与根结点值相 同,则查找成功;若二 叉树为空,则查找失 败;否则按照值的大小 到左子树或右子树上 进行查找哈希查找哈希表理想状态 为 O(1), 实际与装 载因子、解 决冲突等 因素有关需要解决哈希函 数选择、冲突解 决、装载因子的选 择等问题在哈希表下,根据哈希 函数的计算和冲突的 解决方法,进行关键字 对应记录的存储和查 找3、以关键苴字比较为基础的查找算法的最好性能 O(logn) LowerBounds p300第八章排序1、 各种排序算法的执行过程、效率、稳定性分析及性能比较(重 点是:插入排序、选择排序、希尔排序、归并排序、快速排序、堆排 序)排序方法时间复杂度辅助存储空间数据表存储结构适用场合稳定性平均情况最坏情况最好情况插入排序O(n2)O(n2)O(1)O(1)顺序/链式数据基本有序稳定选择排序O(n2)O(n2)O(n2)O(1)顺序每个数据记录较大, 移动记录较花时间。
稳定快速排序O(nlogn)O(n2)O(nlogn)O(logn)顺序初始数据存放于顺 序表,数据大小随机不稳定堆排 序O(nlogn)O(nlogn)O(nlogn)O(1)顺序性能比较均衡可扩 展使用在只需找出 最大(最小)的几个 数据或将已有数据 按大小分成两个部 分的场合不稳定归并排序O(nlogn)O(nlogn)O(nlogn)O(1)/O(n)链式/顺序初始数据存放于链 表的最快速算法稳定2、以关键字比较为基础的排序算法的最好性能O(nlogn)3、快速排序的过程,计算总的比较次数3、 堆的判别、堆的建立,堆排序的过程4、 归并排序的过程,总的比较次数第九章表格1、 各种表格的存储(普通二维数组,特殊的矩阵),二维表格映射到一维存储时的下标函数及访问数组的求法3、 (重点)哈希函数,解决冲突的几种方法,如何构造哈希查找, 哈希查找的效率与哪些因素有关,装载因子的概念,平均查找长 度的计算4、 哈希表类中插入关键字的算法insert p405第十章二叉树1、 二叉树概念2、 求解二叉树的前序、中序、后序遍历,根据2个序列构造二叉树, 表达式二叉树的遍历序列与表达式几种形式的关系。
3、 二叉树的链式类定义及递归遍历算法、层次遍历等算法的实现4、 二叉查找树的定义、特点,中序序列为递增序列5、 二叉查找树下的查找算法实现、效率6、 二叉查找树下结点插入的方法7、 二叉查找树下结点删除的方法8、 二叉查找树的建立9、 AVL树的判定,平衡因子10、 二叉树的结点数与高度的关系高度为h,至少h+1个结点,至多2h+i-1第十一章(多路)树1、 自由树(连通,无环,n个顶点,n-1条边),介于不连通和有 回路图的中间状态2、 森林、树与二叉树之间的相互转换3、 森林、树与二叉树遍历序列之间的关系第十二章图1、 概念,图,有向图,无向图,连通图connected,强连通图,带权图(网)network,顶点的入度,顶点的出度,所有顶点的度 数之和与边数的关系2、 图的邻接矩阵、邻接表表示,在这两种结构下求解图中顶点的 出度、入度等的方法3、 图的遍历算法过程的理解4、 拓扑排序的实际意义和手工过程5、 最短路径的求法(过程)6、 最小生成树的概念,实际意义及prim算法求解过程。












