Java数据结构与Java算法学习Day10---图的了解和无向图(简略笔记记录)
创始人
2024-03-26 01:15:37
0次

目录

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 

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...