文章目录
第7章 -图
7.1图的基本术语
区分极大连通子图和极小连通子图
极大连通子图是无向图的连通分量,要求该连通子图包含其所有的边;
极小连通子树既要保持图连通又要使得边数最少的子图;
7.2图的存储结构
1.邻接矩阵表示法(数组表示法)
适合于稠密图
2.邻接表法
3.十字链表(有向图)
适合求顶点的出度和入度
4.邻接多重表(无向图)
邻接多重表是无向图的一种链式存储结构
7.3图的遍历
两种:深度优先搜索、广度优先搜索
1.深度优先搜索
复杂度
2.广度优先搜索
7.4图的应用
1.最小生成树
(1)普利姆算法
(2)克鲁斯卡尔算法
2.最短路径
迪杰斯特拉算法
对于无权图可以通过广度优先搜索查找最短路径
对于带权图可以采取迪杰斯特拉算法
单源最短路径:迪杰斯特拉算法(不适合边上带有负权值的)
每对顶点间的最短路径:弗洛伊德算法
算法效率
弗洛伊德算法
3.拓扑排序
AOV网:
拓扑排序定义:
逆拓扑排序:
4.关键路径
AOE网
关键路径定义:
一些参量定义
求关键路径
第9章-查找
基于线性表的查找方法:顺序查找、折半查找、分块查找
1.顺序查找
2.折半查找
只能是有序顺序表
3.分块查找(索引顺序查找)
3.动态查找表—树表
(1)二叉排序树(二叉查找树)
(2)平衡二叉树
平衡二叉树的调整
(3)B-树
平衡的多路查找树
(4)B+树
适合用于文件索引系统
B+树与B-树的差异:
4.哈希表
哈希函数的构造函数
(1)直接定址法
(2)数字分析法
(3)平方取中法
(4)折叠法
(5)除留余数法
(6)随机数法
哈希函数需要考虑的因素:
处理冲突的方法
(1)开放地址法:线性探测法、二次探测法、伪随机探测法
(2)链地址法
链地址法
查找总结