邻接表无向图是指通过邻接表表示的无向图。上面的图G1包含了"A,B,C,D,E,F,G"共7个顶点,而且包含了"(A,C),(A,D),(A,F),(B,C),(C,D),(E,G),(F,G)"共7条边。上图右边的矩阵是G1在内存中的邻接表示意图。每一个顶点都包含一条链表,该链表记录了"该顶点的邻...
分类:
其他好文 时间:
2014-12-05 10:30:46
阅读次数:
235
再开始前我们先普及一下简单的图论知识图的保存:1.邻接矩阵。 G[maxn][maxn];2.邻接表邻接表我们有两种方式(1)vector G[maxn];这个是之前就定义了图的大小了,再下面使用的时候就不用对图的大小进行申请了, 但是因为是直接申请了大小要对图进行初始化,因此可能在某些题目中这样使...
分类:
编程语言 时间:
2014-12-04 17:25:20
阅读次数:
275
上一篇“BFS与DFS”写完,突然意识到这个可能偏离了“数据结构”的主题,所以回来介绍一下图的存储:邻接表和邻接矩阵。 存图有两种方式,邻接矩阵严格说就是一个bool型的二维数组,map[i][j]表示i到j有没有单向边,邻接表则是对1~N中每个点都拉出一个链表来,链表E[i]中存的每个点j都表示i...
分类:
编程语言 时间:
2014-12-04 09:57:24
阅读次数:
254
题意:
n(3000)个点m(30000)条边的有向简单图 统计题目中所画的菱形数目
思路:
我们将菱形可以看作a->c点距离为2的两条路 那么假设我们枚举i j两点同时知道i->j距离为2的路径条数 就可以用简单的组合数计算
如果暴力计算路径条数则是n^3的 不过我们可以利用距离为2这个特点 我们同时用邻接表和邻接矩阵存储图 通过邻接表枚举所有边m 这时知道i->k距离为1...
分类:
其他好文 时间:
2014-12-02 22:38:19
阅读次数:
203
#includeint main(){ int n,m,i; int u[6],v[6],w[6]; int first[5],next[6]; //first记录每个点连接的第一边,e.g:first[u[i]]表示点u[i]能到达的第一个点 //next[i]表示编...
分类:
编程语言 时间:
2014-12-01 20:47:22
阅读次数:
122
# include
# include
# define True 1
# define False 0
# define Error -1
# define OK 1
# define MAX_VERTEX_NUM 20
int visited[MAX_VERTEX_NUM]; //定义标志数组
typedef char Verte...
分类:
其他好文 时间:
2014-11-29 16:04:43
阅读次数:
158
学习网络流中ing...作为初学者练习是不可少的~~~构图方法因为书上很详细了,所以就简单说一说把光束作为图的顶点,小行星当做连接顶点的边,建图,由于最小顶点覆盖等于二分图最大匹配,因此求二分图最大匹配即可。邻接矩阵,DFS寻找增广路,匈牙利算法邻接矩阵:复杂度O(n^3)如果使用邻接表:复杂度O(...
分类:
其他好文 时间:
2014-11-28 19:52:47
阅读次数:
254
实现了 Prime算法求最小生成树 (邻接表)的普通算法和最小堆优化算法。...
分类:
编程语言 时间:
2014-11-26 21:02:49
阅读次数:
663
数据结构实验之图论二:基于邻接表的广度优先搜索遍历Time Limit: 1000MS Memory limit: 65536K题目描述给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)输入输入第一行...
分类:
其他好文 时间:
2014-11-26 13:40:21
阅读次数:
154
题目大意:
输入一个数n表示岛上的村庄数,接下来输入n-1行,每行先输入一个乡村名称,接下来输入与其邻接的乡村数,之后输入没给邻接的乡村及道路权值,以此类推共n-1行,最后题目要求输出该联通图的最小生成树的最小代价。
算法思想:
1.先建立一个邻接表,用来存储连通图。
2.从邻接表中读出,联通图的所有边。
3.将读出的边进行排序。
...
分类:
其他好文 时间:
2014-11-25 16:28:24
阅读次数:
245