实验9图的基本操作实验目的1.掌握图的各种存储结构,特别要熟练掌握邻接矩阵和邻接表存储结构。2.遍历是图各种应用的算法的基础,要熟练掌握图的深度优先遍历和广度优先遍历算法,复习栈和队列的应用。实验内容程序1/*定义邻接矩阵类型*/typedefintadjmatrix[n+1][n+1];/*建立图...
分类:
其他好文 时间:
2014-06-17 13:59:53
阅读次数:
397
继续校赛前的建图任务,当时只写了DFS遍历,今天把BFS也写了一下。
#include
#include
#include
#include
#include
const int maxe = 10001;
using namespace std;
struct node{
int to,w;
node *next;
}*head[maxe];//he...
分类:
其他好文 时间:
2014-06-16 22:25:20
阅读次数:
286
最小生成树即在加权连通图里寻找n-1条边,连接n个顶点,并且使得所有边的权重之和最小。最小生成树常用的算法有prim算法和kruskal算法。
1. prim算法
prim算法的基本步骤是:假设图的顶点集合为V,边集合为E,初始化集合U={u},此时集合中只有一个结点u,从u的邻接顶点中选取一个顶点v,使得这两个顶点之间的权重最小,然后把v加入结合U中,再从结点v出发,选取最小权重对应的结点加...
分类:
其他好文 时间:
2014-06-15 14:58:46
阅读次数:
187
在多指令流多数据流MIMD里面有用到基于超立方体互联的网络,
用《图论导引》里面简单的描述,就是处理器能通信,当且仅当他们的邻接(k元祖代表了处理器的地址)
一个 k 维立方体(或者超立方体Qk)是一种简单图,每个顶点{0,1}标记的k元祖来表示。
相邻的顶点之间的 k 元祖只有一个位置上数字不同,Qk 的生成立方体 Qj 和 Qj 本身同构。
这是Q3的表示:...
分类:
其他好文 时间:
2014-06-15 14:42:41
阅读次数:
145
二分图最大匹配的匈牙利算法模板题。由题目易知,需求二分图的最大匹配数,采取匈牙利算法,并采用邻接表来存储边,用邻接矩阵会超时,因为邻接表复杂度O(nm),而邻接矩阵最坏情况下复杂度可达O(n^3)。代码:#include #include #include #include #include #in...
分类:
其他好文 时间:
2014-06-15 11:53:19
阅读次数:
207
在多指令流多数据流MIMD里面有用到基于超立方体互联的网络结构,用《图论导引》里面简单的描述,就是处理器能通信,当且仅当他们的邻接(k元祖代表了处理器的地址)一个 k 维立方体(或者超立方体Qk)是一种简单图,每个顶点{0,1}标记的k元祖来表示。相邻的顶点之间的 k 元祖只有一个位置上数字不同.....
分类:
其他好文 时间:
2014-06-15 10:36:10
阅读次数:
394
Floyd也是采用动态规划的方案来解决在一个有向图G=(V,E)上每对顶点间的最短路径问题。运行时间为Θ(V3)。算法分析: 用邻接矩阵map[][]存储有向图,用dist[i][j]表示i到j的最短路径。设G的顶点为V={1,2,3...n},对于任意一对顶点i,j属于V,假设i到j有路径且...
分类:
其他好文 时间:
2014-06-14 11:37:34
阅读次数:
369
今天中午做的 第一次用邻接表去实现...我就写了下prim的 相比于kruskal
还是更喜欢它多一点...虽然知道prim+heap优化 可是我写不来.....对于 heap 虽然觉得它的概念很简单 但实现起来真的好伤啊..我想
对于prim的理解应该差不多了 基本上可以直接手码出来了 虽然这个很...
分类:
其他好文 时间:
2014-06-12 06:04:05
阅读次数:
369
包括邻接链表、有向无向图、带权图、增删顶点和边、查找、连通、DFS和BFS等。这只是一个最初版本,有些复杂的算法还没有实现。
package structure;
//图的邻接链表的节点
public class GraphListNode {
private int vertex;//图的顶点
private int weight;//边的权重
private boolean vis...
分类:
其他好文 时间:
2014-06-11 06:24:05
阅读次数:
365