Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)

目录

1.1图的定义及分类 142

1.2无向图 143

1.2.1图的相关术语 143 

1.2.2无向图的存储结构 144

1.3图的API设计 145

1.4图的搜索 146

1.4.1深度优先搜索 146 

1.4.2深度优先搜索API设计 147

1.5广度优先搜素 149

1.5.1广度优先搜索API设计及代码实现 150

1.5.2广度优先搜索测试实现 151

1.6案例---畅通工程实现(是前面合并集的提升)152

1.7路径查找 153

1.7.1路径查找API设计 153

1.7.2路径查找的代码实现 154、155

1.7.3路径查找测试的代码实现 156 


1.1图的定义及分类 142

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第1张图片

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第2张图片

1.2无向图 143

1.2.1图的相关术语 143 

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第3张图片

子图解释:所有边的子集,并包含这些依附的顶点。

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第4张图片

路径解释:从左下角到右上角的路径

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第5张图片

 环:

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第6张图片

 Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第7张图片

1.2.2无向图的存储结构 144

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第8张图片

邻接矩阵:

使用树的索引来表示二维数组的索引。 

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第9张图片

例如:如上图所示,问结点7和结点8之间是否有边。如果两结点之间在上面的二维数组表中的值为1,那么就表示这两个结点之间有边。因为是无向图,所有横7竖8  和横8竖7是一样的。 

缺点:处理大规模的问题,需要占据很大的点即内存空间。

邻接表:

存储的都是队列对象。  利用多个Q对象来表示一个树。

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第10张图片

 顶点的表示:Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第11张图片

 边的表示:

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第12张图片

1.3图的API设计 145

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第13张图片

本部分代码在/graph/Graph

1.4图的搜索 146

1.4.1深度优先搜索 146 

实质就是:先是纵深进行搜索,纵深搜索完毕后在进行广度的搜索。先深后广

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第14张图片

1.4.2深度优先搜索API设计 147

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第15张图片

本部分的代码在/graph/DepthFirstSearch中

测试代码在/test/DepthFirstSearchTest 148

1.5广度优先搜素 149

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第16张图片

 应用:二叉树的层序遍历

1.5.1广度优先搜索API设计及代码实现 150

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第17张图片 本部分实现代码在/graph/BreadthFirstSearch

1.5.2广度优先搜索测试实现 151

 本部分实现代码在/test/BreadthFirstSearchTest

1.6案例---畅通工程实现(是前面合并集的提升)152

1.7路径查找 153

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第18张图片

1.7.1路径查找API设计 153

Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)_第19张图片

 注:基于深度优先进行搜索路径

1.7.2路径查找的代码实现 154、155

1.7.3路径查找测试的代码实现 156 

你可能感兴趣的:(数据结构与算法,学习,数据结构,算法,图搜索算法,java)