数据结构的重点知识点.docx
- 文档编号:29165541
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:7
- 大小:23.75KB
数据结构的重点知识点.docx
《数据结构的重点知识点.docx》由会员分享,可在线阅读,更多相关《数据结构的重点知识点.docx(7页珍藏版)》请在冰豆网上搜索。
数据结构的重点知识点
教材:
数据结构教程(第4版)李春葆主编、清华大学出版社
要求:
不是死记下面的文字,要根据书本用脑理解好!
充分利用开发工具VisualC++6.0或visualstudio帮助理解
第一章(6大知识点)
P5逻辑结构:
1、线性结构:
结点一对一关系
2、树形结构:
结点一对多关系
3、图形结构:
结点多对多关系
P6存储结构:
4、顺序存储:
元素在内存里相邻(物理位置上相邻)
5、链式存储:
元素通过指针的指向相邻
P13(倒数第四段)
6、算法的时间复杂度
第二章(4大知识点)
线性表的顺序存储:
P301、顺序表的结构体
typedefstruct
{ElemTypedata[Maxsize];
Intlength;
}SqList;
P31-342、顺序表对元素操作的算法代码(要求理解好原理)
特别重点:
插入一个元素、删除一个元素
线性表的链式存储:
P383、单链表结点结构体
typedefstructLNode
{ElemTypedata;
StructLNode*next;
}LinkList;
P42-454、链表对元素操作的算法代码
特别重点:
插入一个元素、删除一个元素
第三章(8大知识点)
栈的顺序存储:
P661、顺序栈的结构体
P66-672、顺序栈对元素操作的算法代码
特别重点:
进栈、出栈
栈的链式存储:
P68(倒数第三段代码)3、链栈结点结构体
P68-704、链栈对元素操作的算法代码
特别重点:
进栈、出栈
队列的顺序存储:
P815、顺序队列的结构体
P83-846、循环顺序队列对元素操作的算法代码
特别重点:
进队、出队
队列的链式存储:
P85(倒数两段)7、链队列结点结构体
P86-878、链队列对元素操作的算法代码
特别重点:
进队、出队
第七章(14大知识点)
P1541、树的定义是递归的定义
P1562、树的基本术语:
(1)结点的度、树的度
(2)分支结点、叶子结点
(3)孩子结点、双亲结点、兄弟结点
(4)树的高度、森林
P162-1633、什么叫满二叉树、什么叫完全二叉树
P1637.2.2第三行4、总结点数=n0+n1+n2
第四行总的分支数=n1+2n2
第六行总的分支数=总结点数-1
二叉树的链式存储
P1685、链二叉树的结点结构体
typedefstructnode
{ElemTypedata;
structnode*lchild;
structnode*rchild;
}BTNode;
P1716、二叉树查找结点算法代码
P1727、二叉树求高度算法代码
P173-1748、二叉树三种递归遍历算法(超重要!
)
P1859、已知先序+中序序列->唯一确定一棵二叉树
P18710、已知后序+中序序列->唯一确定一棵二叉树
P189第一段中文 11、由n个结点组成的二叉树一共有2n个指针域,但只有n-1个有效指针,浪费了剩下的n+1个指针
我们把这n+1个指针充分利用为线索
P189第二、三段 12、线索:
①某一个结点没有左孩子或没有右孩子②且没有左孩子的使它指向它的前驱,没有右孩子的使它指向它的后继
P190 13、一棵二叉树中的绝对有空指针域(因为叶子结点没孩子),但已经给线索化的二叉树一定没有空指针域(因为上面空的指针值就是线索)
P194 14、构造哈夫曼树的关键:
每一次选取最小的两个值组成二叉树,并且把刚算出来的值跟原来题目提供的值再一起比较选取最小的两个值
第八章(8大知识点)
P205-2061、基本术语
(1)端点、邻接点
(2)顶点的度、顶点的入度、顶点的出度
(3)n个顶点组成的无向完全图有
条边
n个顶点组成的有向完全图有
条边
(4)简单回路或简单环
(5)连通图、连通分量
(6)权、网
图的存储结构
P208的代码 2、邻接矩阵①无向图时,是对称矩阵 ②有边时为1或权值 ③无边时为0
P209的代码 3、邻接表①先写头结点,也叫顶点结点 ②再写所有与头结点相邻接的邻接点
P2114、深度遍历:
①是递归的算法
②访问当前顶点的任意一个没有被访问的邻接点
P213 5、广度遍历:
访问当前顶点的所有没有被访问的邻接点
P2236、最小生成树(只能是无向图):
以最少的边连接连通图中所以顶点
①有且仅有n-1条边 ②包有所有n个顶点
现实应用:
在n个村庄里怎么样选择边架构通信网络,使成本最低
P225普里姆算法:
U代表已找到的顶点,V代表剩下的顶点
目的:
每次由V里加一个顶点到U,使n个顶点全部加入到U里
条件:
每加一个顶点时,满足是代价最小的边
P227 克鲁斯卡尔算法:
目的:
每一次添加一条边,直到n-1条边全部添加进来
条件:
添加边时,满足是权值最小且不形成回路
P231 7、最短路径:
(既可以有向图,也可无向图)经过的边数最少
现实应用:
由一个城市去另一个城市,怎么走法最短
P232 狄克斯特拉算法:
用来求一个顶点到其余各顶点的最短路径
P240 8、拓扑排序:
(只能有向图)
现实应用:
工程规划(例如学了C++,才可以学数据结构)
P241第2-4行
写拓扑序列的技巧:
①写出一个入度为0的顶点
②从有向图中,删除写的顶点且删除该顶点发出的边
第九章(8大知识点)
P250 1、顺序查找:
算法代码
P251 2、二分查找(重点)熟练掌握算法代码,只针对有序表
二分查找的时间复杂度:
log
n
P254 3、索引查找①分块有序②块内无序
P256 4、二叉排序树的定义:
①任一结点比左孩子大,且比右孩子小②任一棵子树本身也是一棵二叉排序树
对二叉排序树使用中序遍历得到的序列一定要递增有序
P258最后一行 5、二叉排序树的插入:
①每插入一个都要从根结点开始往下比较②每插入一个都要作为叶子结点
P262最后一段 6、二叉排序树的删除:
分三种情况
①删除的结点为叶子结点
②删除结点只有单分支
③删除结点有双分支
一、前驱替换法:
找删除结点的左孩子的最右端(即为最大结点)
二、后继替换法:
找删除结点的右孩子的最左端(即为最小结点)
P277第一行 7、哈希函数:
自变量x通过函数y=f(x)求出的y为地址
f为哈希函数,y为哈希地址
P277第七行 8、同义词:
不同的x,得出同一个y
P278 9、哈希冲突函数:
由于出现同义词,要解决同义词
求哈希表的方法:
P280 例题9.9 哈希函数(除留余数法)+哈希冲突函数(线性探查法)
P281 例题9.10 哈希函数(除留余数法)+哈希冲突函数(拉链法)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 重点 知识点