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

1.2无向图 143

1.2.1图的相关术语 143 

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

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

 环:

 

1.2.2无向图的存储结构 144

邻接矩阵:

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

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

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

邻接表:

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

 顶点的表示:

 边的表示:

1.3图的API设计 145

本部分代码在/graph/Graph

1.4图的搜索 146

1.4.1深度优先搜索 146 

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

1.4.2深度优先搜索API设计 147

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

测试代码在/test/DepthFirstSearchTest 148

1.5广度优先搜素 149

 应用:二叉树的层序遍历

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

 本部分实现代码在/graph/BreadthFirstSearch

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

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

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

1.7路径查找 153

1.7.1路径查找API设计 153

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值