//图的数组(邻接矩阵)存储表示 #include <stdio.h> #include <stdlib.h> #define MAX_VEX_NUM 50 typedef char VertexType; typedef enum { DG, UDG } GraphType; typedef st ...
分类:
编程语言 时间:
2017-07-25 13:38:08
阅读次数:
220
十大算法之广度优先遍历: 本文以实例形式讲述了基于Java的图的广度优先遍历算法实现方法,详细方法例如以下: 用邻接矩阵存储图方法: 1.确定图的顶点个数和边的个数 2.输入顶点信息存储在一维数组vet中 3.初始化邻接矩阵。 4.依次输入每条边存储在邻接矩阵array中 输入边依附的两个顶点的序号 ...
分类:
编程语言 时间:
2017-07-24 13:18:03
阅读次数:
184
1.解决存储问题 实现迷宫的存储。用一个二维矩阵存储 如下列迷宫: 0,1,0,0,0,1,1,0,0,0,1,1,1,1,1, 1,0,0,0,1,1,0,1,1,1,0,0,1,1,1, 0,1,1,0,0,0,0,1,1,1,1,0,0,1,1, 1,1,0,1,1,1,1,1,0,1,1,0 ...
分类:
其他好文 时间:
2017-07-12 12:10:14
阅读次数:
85
对于矩阵有一类特殊的矩阵,叫做三角矩阵。 这种矩阵如果还是按照定义一个二维数组来对数值进行存储的话,无疑将消耗掉不必要的空间,所以我们采用压缩存储的方式,将矩阵存储在一位数组中。 对于下三角矩阵,如果按照行优先存储,则{a11, a21, a22, a31, a32, a33, a41, a43, ...
分类:
其他好文 时间:
2017-07-08 00:18:37
阅读次数:
238
题目描写叙述: 编写一个程序输入一个mXn的矩阵存储并输出,而且求出每行的最大值和每行的总和。 要求把每行总和放入每行最大值的位置,假设有多个最大值。取下标值最小的那一个作为最大值。 最后将结果矩阵输出。 输入: 输入的第一行包含两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。 ...
分类:
其他好文 时间:
2017-07-03 12:18:50
阅读次数:
131
#include <stdio.h> #include <iostream> #include <limits.h> #include <queue> #define INFINTY INT_MAX //最大值 #define MaxVertexNum 100 //最大顶点数 using names ...
分类:
其他好文 时间:
2017-06-16 12:06:47
阅读次数:
203
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,如今我来介绍第二种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据。例如以下。 1 2 3 4 5 6 4 5 1 4 9 4 3 8 1 2 5 2 4 6 1 3 7 第一行两个整数n ...
分类:
编程语言 时间:
2017-05-30 15:58:30
阅读次数:
249
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。 1 2 3 4 5 6 4 5 1 4 9 4 3 8 1 2 5 2 4 6 1 3 7 1 2 3 4 5 ...
分类:
其他好文 时间:
2017-05-25 19:52:12
阅读次数:
255
邻接表的构造与邻接矩阵完全不同,同学们应该发现了,邻接表的的结构更像是由几个链表构成的。 在构造邻接表时,我们的确会借助链表的结构。对图中每个顶点的信息,我们都会分别使用一个链表来进行存储。 因此,我们需要初始化一个有 n 个元素的链表数组,n 为图中顶点数量。 我们要在邻接表中存储的图的信息,实际 ...
分类:
其他好文 时间:
2017-05-20 11:24:24
阅读次数:
220
刚看到题目的时候马上就想到要用【邻接矩阵】存储边,并且用 Dijkstra算法求最短路径,但是提交代码后,检测结果是“运行错误”,内存使用非常大。 再重新看一遍题目,发现数据规模中节点数目的平方远大于边的数目,所以用邻接矩阵存储是非常浪费内存的。 查找相关课本,图一般有四种存储方式: 1、邻接矩阵: ...
分类:
其他好文 时间:
2017-04-26 21:31:33
阅读次数:
400