《数据结构》复习提纲。
第一章绪论。
1) 数据结构概念。
2) 数据的物理结构(存储结构)、逻辑结构。
3) 数据的存储形式:顺序、链式、索引、散列存储结构。
4) 算法设计时,重点考虑时间复杂度、空间复杂度、稳定性。
第二章线性表。
1) 抽象数据类型线性表的定义(p19):
2) 顺序表(基本操作:插入、删除数据元素)
1 数据元素存储位置、新结点的创建。
2 插入/删除一个数据元素时需移动元素的次数
3) 链表(基本操作:插入、删除数据元素)
1 单链表。
2 双链表。
3 链表的定义、创建、插入、删除操作的算法实现。
4 链结束的条件。
5 顺序表与链表的存储区别与联系。
第三章栈和队列。
1) 栈。1 栈的概念。
2 栈的特点:后进先出,插入和删除只能在栈顶。
3 栈的基本操作(p45)
4 栈的算法表示和实现。
5 栈的链式存储。
2) 队列。
1 队列的概念。
2 队列的特点:先进先出,插入在队尾,删除在队头。
3 队列的基本操作(p59)
4 队列的顺序、链式表示和实现(p60 63)
5 队列的“空”与“满”的判别条件。
第四章串和数组。
1) 串。1 串的字串、主串、字串的定义及位置、基本操作(p70)
2 两个串相等的判别条件:两串的长度相等,且对应的字符也相同。
3 求顺序串的子串、串相等判别、合并串。
4 串的顺序存储、链式存储。
2) 数组。
1 数组的顺序存储。
二维数组的存储。
以此类推多维数组的存储。
2 二维数组的基本操作。
a. 给定一组下标,修改该位置元素内容:assign(a,item,index1,index2)
b. 给定一组下标,返回该位置元素内容:value(a,item,index1,index2)
3 一般数组只使用顺序存储结构,不使用链式存储结构。(无插入、删除操作)
3) 矩阵的压缩存储。
1 特殊矩阵的存储。
a. 对称矩阵
b. 下(上)三角矩阵。
c. 对角矩阵。
矩阵中(i,j)在一维数组中存放位置、算法实现(见本章课件)
2 稀疏矩阵的压缩存储---三元组表示法。
三元(i,j,value)即(行号,列号,非零元素值)、算法实现(见本章课件)
第五章树和二叉树。
1) 树。1 树的基本操作(p119)
2 树的度与深度的概念、区别。
2) 二叉树。
1 二叉树概念、基本操作(p121)
2 二叉树的性质:
a. 在二叉树的第i层上至多有2i-1个结点(i≥1)
b. 深度为k的二叉树至多有2k-1个结点(k≥1)
c. 对任一棵二叉树t,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1
d. 具有n个结点的完全二叉树的深度为「log2n」+1
e. 如果对一棵有n个结点的完全二叉树(深度为「log2n」+1)的结点按层序号(从第1层到第「log2n」+1层,每层从左到右),则对任一结点i(1≤i≤n),有:
<1>如果i=1,则结点i是树根,无双亲;如果i>1,则其双亲是结点「i/2」
<2>如果2i>n,则结点i无左孩子(i为叶子结点);否则其左孩子是结点2i
3>如果2i+1>n,则结点i无右孩子;否则其右孩子是结点2i+1
3 二叉树的存储结构
4 多维链式存储结构。
5 满二叉树和完全二叉树的概念。
6 二叉树结点总数的计算:
结点总数n=n0+n1+n2 n=n1+2n2+1 (推导过程见p124)
(n0为叶子结点数,n1为度为1的结点数,n2为度为2的结点数)
7 二叉树的遍历递归算法(具体实现算法见本章课件):
<1>先序遍历---先序遍历左→先序遍历右。
<2>中序遍历---中序遍历左→访问根结点→中序遍历右。
<3>后续遍历---后续遍历左→后续遍历右→访问根结点。
二叉树的遍历与栈、队列的结合。
8 由各种遍历输出序列还原二叉树。
9 赫夫曼树。
<1>树的带权路径长度。
<2>赫夫曼树(最优树)--带权路径长度最短的树。
<3>赫夫曼编码规则、权值的计算。
<4>赫夫曼树的构造原理(过程)
<5>根据赫夫曼前缀编码还原二叉树。
第六章图。1) 有向图、无向图、完全图、有向完全图、入度、出度。
2) 连通图、连通分量→无向图;强连通图、强连通分量→有向图。
3) 图的存储结构:邻接矩阵、邻接表→链式存储结构。
有向图、无向图邻接表 (算法实现见本章课件)
4) 图的遍历(遍历顺序、算法实现)
1 深度优先。
2 广度优先。
5) 最小生成树(构造方法见本章课件)
根据边上的权值计算总权值,总权值最小的树即为最小生成树。
6) 拓扑排序(排序的方法、算法实现见本章课件)
第七章查找。
1) 静态查找(思想、算法见本章课件)
1 顺序表的查找---顺序查找。
2 有序表的查找---折半查找。
3 索引顺序表的概念、查找算法。
4 比较两种查找算法的时间复杂度、空间复杂度、稳定性
2) 动态查找---二叉排序树的性质、查找、插入、删除
3) 哈希表。
1 哈希函数、哈希表、哈希地址、冲突的概念。
2 哈希函数的构造方法—直接定址法、质数取余法、平方取中法、折叠法。
3 解决冲突的方法---开放地址法、链接地址法、再哈希法、溢出区法。
4 哈希表的查找方法、算法。
第八章排序。
1) 内部排序(基本思想、算法)
1 插入排序。
2 希尔排序。
3 交换排序---冒泡排序、快速排序。
4 选择排序---简单选择排序、堆排序。
5 归并排序---2路归并+递归算法。
2) 各种排序算法的优劣,有关时间复杂度、空间复杂度、稳定性问题。
数据结构复习提纲
软件学院数据结构与算法复习提纲。data structures and algorithms 概念 type,类型 一组值的集合。type,简单类型例如整数,因为它的值不含有子结构。aggregate type,复杂类型,一个记录含有多项信息。银行账户含有多项信息如姓名 地址 composite t...
数据结构复习提纲
第一章概论 1 数据结构的基本概念和术语。数据 数据元素 数据项 数据对象 数据结构等基本概念。数据结构的逻辑结构,存储结构及数据运算的含义及其相互关系。数据结构的四种逻辑结构及四种常用的存储表示方法。第二章算法分析技术。1 算法的描述和分析。无穷大阶的几种描述方法的区别。算法 算法的时间复杂度和空...
数据结构复习提纲
第一部分试题说明。1 试卷考试时间为90分钟。2 试题类型 选择题 20个,每题2分,共40分 简答题 6个,每题5分,共30分 和算法设计题 2个,每题15分,共30分 第二部分各章知识点。第1章绪论。1 数据结构的概念。2 数据结构的形式化表示方法 ds d,r 要求给定一个形式化表示,能够画出...