适用于稠密图
class DenseGRAPH
{
public:
DenseGRAPH(int V, bool digraph=false): adj(V), Vcnt(V), Ecnt(0), digraph(digraph)
{
for(int i=0; i<V; i++)
{
adj.assign(V, false);
}
}
int V() const {return Vcnt;}
int E() const {return Ecnt;}
bool directed() const {return digraph;}
void insert(Edge e)
{
int v=e.v, w=e.w;
if(false==adj[v][w])
{
Ecnt++;
}
adj[v][w]=true;
if(!digraph)
{
adj[w][v]=true;
}
}
void remove(Edge e)
{
int v=e.v, w=e.w;
if(true==adj[v][w]) Ecnt--;
adj[v][w]=false;
if(!digraph) adj[w][v]=false;
}
bool edge(int v, int w) const
{
return adj[v][w];
}
class adjIterator;
friend class adjIterator;
private:
int Vcnt, Ecnt;
bool digraph;
vector<vector<bool> > adj;
};
// 迭代器的实现:
class DenseGRAPH::adjIterator
{
public:
adjIterator(const DenseGRAPH&G, int v): G(G), v(v), i(-1){}
int beg()
{
i=-1; return nxt();
}
int nxt()
{
for(i++; i<G.V(); i++)
{
if(true==G.adj[v][i]) return i;
return -1;
}
}
bool end()
{
return i>=G.V();
}
private:
const DenseGRAPH& G;
int i, v;
};
分享到:
相关推荐
图的邻接矩阵表示法 深度优先搜索遍历 折半查找 数组模式
图的邻接矩阵存储表示和实现图的邻接矩阵存储表示和实现图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接...
建立一个带权无向图用邻接矩阵表示,判断此图是否连通,若是连通图,用Prim算法输出该图的最小生成树
无向图的邻接矩阵存储及输出无向图的邻接矩阵存储及输出
题目1:用邻接矩阵存储结构创建图。 要求: 采用邻接矩阵作为图的存储结构,实现四种不同类型图(无向图、有向图、无向网和有向网)的创建,并将邻接矩阵值进行显示输出; 程序运行时输入图的顶点及边的信息。
无向图的邻接矩阵表示
采用邻接矩阵表示图的算法生成图的邻接矩阵表示,还可以实现邻接矩阵到邻接表达的转换
分别以邻接矩阵和邻接表作为图的存储结构 很好的资料
1)实现图的邻接矩阵和邻接表存储结构; 2)完成基于邻接矩阵的深度优先搜索遍历及广度优先搜索遍历; 3)实现从键盘输入任意一对顶点,求出顶点间的最短路径。
我原来实现的数据结构(C++):链式队列,顺序队列,二叉树,图的邻接矩阵表示,图的邻接表表示。供大家学习参考!
图的邻接表 邻接矩阵表示的迪杰斯特拉算法 普里姆算法 克鲁斯卡尔算法 用c++实现 codeblocks编译通过
邻接矩阵表示法深度遍历和广度遍历 邻接矩阵表示法深度遍历和广度遍历 邻接矩阵表示法深度遍历和广度遍历 邻接矩阵表示法深度遍历和广度遍历
图的C++的邻接表和邻接矩阵完整实现,功能齐全,运行界面效果好
利用python载入邻接矩阵绘制网络图,基于python语言的特点,对邻接矩阵加以处理后再进行应用,即将邻接矩阵去除第一列(节点序号列),复杂网络的基本拓扑结构可以用图论的方法表示成G =(V,E),V中元素称为节点或...
建立有向网络的邻接矩阵算法 void creatmatrix(matrix *gra) /*建立有向网络的邻接矩阵算法*/ {int p,q,x,w; printf("The n and e are:\n"); scanf("%d%d",&gra;->n,&gra;->e); /*输入顶点数和边数*/ getchar()...
图的邻接矩阵表示的迪杰斯特拉算法 普里姆算法 克鲁斯卡尔算法 c++实现 codeblocks编译通过
在Windows7 64位+VS2015上运行求解AOE网关键路径的算法,邻接表表示的AOE网提示网中有回路,邻接矩阵表示的AOE网显示正确的信息?使用的算法是一样的,两种方法的相关类的接口函数也一致,为什么会出现这种问题?
邻接矩阵存储图的深度优先遍历 邻接矩阵表示图_深度_广度优先遍历
使用邻接矩阵实现图结构,无论是有向图、无向图、带权图还是无权图,都可以指定。
源代码,实现邻接矩阵的源代码,可直接执行,可用使用好用非常好用,自带测试数据5 8 1 2 3 1 3 5 1 4 8 2 3 6 2 4 4 3 4 2 2 5 11 4 5 10