数据结构期末复习要点

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

第一章 绪论
1、 数据结构主要包括哪三方面内容?
2、什么是逻辑结构?什么是存储结构?两者有何关系?
3、数据的逻辑结构主要分为哪几类?
4、 存储结构主要有那些方式?
5、 顺序存储方式是如何表示数据元素之间的关系?其存储地址一定连续吗?
6、 链式存储方式是如何表示数据元素之间的关系?其存储地址一定连续吗?
7、 逻辑结构与具体计算机有关吗?存储结构呢?
8、什么是抽象数据类型?其主要特征是什么?
9、 算法与具体的计算机及计算机语言有关吗?
10、 算法与程序有何关联 ?
11、 算法分析主要从哪些方面考虑?
12、常用算法复杂度的有哪些数量级别?(按递增排列)

第二章 线性表
1、 线性结构的逻辑关系是什么?
2、 顺序表是如何表示数据元素的逻辑关系的?
3、顺序表如何定义数据类型?(计算存储地址)
4、单链表带头结点与无头结点的操作比较有什么优势?举例说明。
5、单链表的操作特点是什么?单链表如何定义数据类型?
6、 循环链表的操作特点是什么?
7、 双向链表的操作特点是什么? 双向链表如何定义数据类型?
8、 顺序表与链表比较各自的优缺点是什么?

第三章 栈、队列
1、栈的操作原则是什么?
2、两个栈共享空间时基本运算如何实现? (判断空或满的条件)
3、递归与栈有何关系?递归算法有何优缺点?
4、队列的操作原则是什么?
5、顺序队列操作中的“假溢出”是什么?如何解决?
6、循环队列是存储在循环链表中吗?
7、循环队列的操作时如何判空、满以及求长度?
8、栈和队列的共同点和不同点是什么?

第四章 串
1、串的逻辑结构是什么?
2、空串与空格串的区别是什么?
3、两个串相等的充分必要条件是什么?
4、什么是串的模式匹配?
5、KMP改进算法的最大特点是什么?(求next[])


第五章 数组和广义表
1、数组的逻辑结构是什么?
2、数组的特点是什么?数组可以进行插入删除操作吗?
3、数组通常以什么方式存储?多维数组存储常用哪两种排列方式?(计算存储地址)
4、特殊矩阵的压缩存储基本思想是什么?
5、对称矩阵、三角矩阵和对三角矩阵如何压缩存储?(画出压缩存储方式,计算存储地址)
6、稀疏矩阵只需存储非零元素的值吗?(画出三元组表和十字链表的存储结构。)
7、广义表其逻辑结构是什么?
8、多维数组是广义表吗?为什么?
9、广义表主要有哪些基本运算?(画出广义表的存储方式,使用基本运算)
10、求表头运算结果一定是原子元素吗? 求表尾一定是个子表吗?

第七章 树和二叉树
1、树

的逻辑结构是什么?树的表示方式有那些?
2、什么是树的度?什么是树的深度?
3、树有那些存储方式?(画出各种存储方式)
4、树的遍历:给定树或森林写出先根遍历序列和后根遍历序列以及按层次遍历序列。
5、二叉树与度为2的树有何区别?
6、二叉树有哪5种基本形态?2个结点的二叉树有几种不同形态?3个结点?4个?
7、二叉树的五个性质是什么?(灵活使用)
8、满二叉树的特点是什么?完全二叉树的特点是什么?(画出二叉树按顺序方式存储)
9、二叉树遍历:给定二叉树写出其先序遍历序列、 中序遍历序列及后序遍历序列。
给出二叉树的先序和中序遍历序列构造二叉树,给出二叉树的后序和中序遍历序列构造二叉树
10、N个结点的二叉树按二叉链表方式存储,共有多少指针域,其中多少指针域为空指针?
11、N个结点的线索二叉树中有多少指针域填写线索? (对已知二叉树进行线索化)
12、给定二叉树转换为树或树林,给定树或树林能转换为二叉树。
13、什么是哈夫曼树?N个叶子结点的哈夫曼树有多少分支结点?(构造哈夫曼树、写出哈夫曼编码)

第九章 图
1、一个具有N个顶点的完全无向图有多少条边?完全有向图呢?
2、什么是图中顶点的度?什么是连通图?什么是强连通图?
3、邻接矩阵和邻接表存储图各有什么特点?(画出图的两种不同存储方式)
4、什么是图的遍历?两种基本方法是什么?(写出其两种遍历序列)
5、什么是生成树?有什么特点?
6、图的应用:求最小生成树、求最短路径、求拓扑排序及关键路径。(理解其应用价值)

第十章 查找
1、ASL是什么?其有何用?
2、顺序查找有什么特点?其ASL为多少?
3、可用于二分查找(折半查找)的查找表有什么要求?这种查找方法有什么优缺点?其ASL为多少?
(画出有n个记录的二叉判定树,并求出ASL成功与不成功)
4、分块查找的基本思想是什么?其效率如何?什么情况下效率最高?
5、什么是二叉排序树?中序遍历二叉排序树将得到什么结果?有什么特点?什么因素将影响查找效率?
(给出一个序列能构造二叉排序树,并求出相应的ASL(成功与不成功))
6、什么是平衡二叉树?平衡因子?(给出一个序列能构造二叉排序树)
7、B-树和B+树主要应用在哪儿?二者在操作上主要区别是什么?
8、哈希表的查找基本思是想什么?哈希函数?装填因子?冲突?
9、给出一个序列及哈希函数,
(1)画出开放定址的线性探查法的哈希表,并求出相应的ASL(成功与不成功)
(2)画出拉链法的哈希表,并求出相应的ASL(成功与不成

功)。
10、哈希表的查找效率与n有关吗?

第十一章 内排序
1、什么是排序?什么是排序的稳定性?
2、内部排序与外部排序的主要区别是什么?
3、连续顺序文件排序与链表排序的主要操作区别是什么?
4、直接插入排序:什么情况下效率最高?最少比较多少次?移动多少次?
5、希尔排序是直接插入排序的改进方法,为什么会效率高?
6、起泡排序结束排序的条件是什么?什么情况下效率最高?最少比较多少次?移动多少次?
7、快速排序是快速排序的改进方法,为什么会效率高?什么情况下效率低?为什么平均空间效率低?
8、直接选择排序:其比较次数与初始状态有关吗?移动效率如何?
9、堆排序是选择排序的改进方法,为什么会效率高?(给出一个序列会判断是否是堆?并调整为堆)
10、几种排序中哪些排序方法能在第一趟就确定出最大(或最小)元素?
11、哪种排序是内排序效率最高的?
12、当数据表基本有序时,选择哪种排序好?
13、归并排序算法思想主要应用于什么情况?
14、基数排序中每趟主要通过哪些过程来实现?
15、要求熟练写出8种排序的各趟排序结果。

相关文档
最新文档