一、基于邻接矩阵表示法的无向图 邻接矩阵是一种利用一维数组记录点集信息、二维数组记录边集信息来表示图的表示法,因此我们可以将图抽象成一个类,点集信息和边集信息抽象成类的属性,就可以在Java中描述出来,代码如下: 每一个具体的图,就是该类的一个实例化对象,因此我们可以在构造函数中实现图的创建,代码如 ...
分类:
编程语言 时间:
2019-06-09 13:15:45
阅读次数:
117
非常感谢kuangbin专题啊,这道题一开始模拟邻接表做的,反向边不好处理,邻接矩阵的话舒服多了。 题意:给n头牛和m条有向边,每头牛1~n编号,求所有牛中到x编号去的最短路+回来的最短路的最大值。 ...
分类:
其他好文 时间:
2019-05-27 19:00:01
阅读次数:
93
第一部分:JML小结 一、入门关键字小结 1.引导词: requires :接下来部分的入口要求 assignable :在该程序中可修改的变量 ensures :后面是对该函数运行结束后的要求 also exception_behavior :接下来是出现异常的处理部分 signals : 对应抛 ...
分类:
其他好文 时间:
2019-05-22 15:55:46
阅读次数:
99
(一)邻接表和邻接矩阵 图的存储结构,有邻接矩阵表示法和邻接矩阵表示法两种。 邻接矩阵通过矩阵来存储图的信息,其算法的时间复杂度为O(n^2);邻接表通过链式存储结构来存储图的信息,其算法的时间复杂度为O(n+e);因为邻接矩阵表示法不便于增加和删除顶点,空间效率低,所以相对于邻接表而言,邻接矩阵更 ...
分类:
其他好文 时间:
2019-05-20 00:46:33
阅读次数:
198
一、图的存储结构 图的数组(邻接矩阵)存储表示: 优点:1/0表示方便 缺点:不利于增加删除顶点 特殊:时间复杂度较高,不稀疏图;不过在无向图,可利用下三角形来压缩处理空间。 例子1: (需要辅助数组) 来源:https://www.cnblogs.com/XMU-hcq/p/6065057.htm ...
分类:
其他好文 时间:
2019-05-19 23:32:40
阅读次数:
211
图,在日常生活中,常常会用到,但是平日里在纸上只是几个圆圈,几个数字,几笔几画便可以了。 但是在编程中,需要的是各种各样的类型定义,一次方便存储,也方便我们结构化。不同的存储结构,命名也不同,许许多多加起来,有各自嵌套,一个字,乱! (以下是以邻接表的存储结构为样例) 首先,分清楚图有哪些东西要存放 ...
分类:
其他好文 时间:
2019-05-19 23:13:39
阅读次数:
187
本章学习了有关图的概念以及基本操作。 主要学习了邻接矩阵,邻接表,深度搜索以及广度搜索。 其中,邻接矩阵构造简单,方便操作,易于判断两个顶点间是否存在边,即通过A[i][j]=0/1。但是数据量大时,会浪费大量空间,且不利于增删顶点。而领接表方便增删顶点,只需修改指针即可,而且空间利用效率更高,解决 ...
分类:
其他好文 时间:
2019-05-19 23:13:23
阅读次数:
160
这两个星期,说实话没有好好用功,惭愧无比。 图,不同于先前学过的数据结构,它是一种非线性的结构,即可以一对多或者多对多。 存储方式主要有邻接矩阵和邻接表。 邻接矩阵主要是用一个一维数组和一个二维数组分别存储顶点信息和边的信息。 邻接表主要用数组加链表的方式,将顶点和边(顶点之间的联系)都表示出来。 ...
分类:
其他好文 时间:
2019-05-19 21:59:01
阅读次数:
125
弄清楚图 本章重点 1.邻接矩阵:表示顶点之间相邻关系的矩阵 邻接矩阵表示法的特点: 优点:容易实现图的操作,如:求某顶点的度、判断顶点之间是否有边、找顶点的邻接点等等。 缺点:n个顶点需要n*n个单元存储边; 空间效率为O(n2)。对稀疏图而言尤其浪费空间。 2.邻接表 (1)图的链式存储结构 ( ...
分类:
其他好文 时间:
2019-05-19 10:09:23
阅读次数:
120
1 //1 使用邻接表 时间复杂度: O(n+e) 2 //递归 3 public void DFS(int v) 4 { 5 System.out.print(this.vexs[v].data + " "); 6 this.visited[v] = true; 7 8 for(ArcNode p... ...
分类:
编程语言 时间:
2019-05-05 21:53:10
阅读次数:
791