用邻接矩阵表示一个图时 1、 输出一个图的边数,以及两端顶点 2、 增加、删除一条边(输出新图对应的邻接C语言,用邻接矩阵表示一个图时1、 输出一个图的边数,以及两端顶点2、 增加、删

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/20 07:55:05

用邻接矩阵表示一个图时 1、 输出一个图的边数,以及两端顶点 2、 增加、删除一条边(输出新图对应的邻接C语言,用邻接矩阵表示一个图时1、 输出一个图的边数,以及两端顶点2、 增加、删
用邻接矩阵表示一个图时 1、 输出一个图的边数,以及两端顶点 2、 增加、删除一条边(输出新图对应的邻接
C语言,用邻接矩阵表示一个图时
1、 输出一个图的边数,以及两端顶点
2、 增加、删除一条边(输出新图对应的邻接矩阵)
3、 删除一个顶点(输出新图对应的邻接矩阵)

用邻接矩阵表示一个图时 1、 输出一个图的边数,以及两端顶点 2、 增加、删除一条边(输出新图对应的邻接C语言,用邻接矩阵表示一个图时1、 输出一个图的边数,以及两端顶点2、 增加、删
/*用邻接矩阵实现图*/
#include
#include
#define WItem int
typedef struct graph *Graph;
struct graph
{
WItem NoEdge; /*无边标记*/
int n; /*顶点数*/
int e; /*边数*/
WItem **a; /*邻接矩阵*/
}AWDgraph;
Graph Graphinit(int n,WItem noEdge) /*创建图*/
{
int i,j;
Graph G=(struct graph *)malloc(sizeof (*G));
G->n=n;
G->e=0;
G->NoEdge=noEdge;
a=(WItem**)malloc(sizeof(WItem)*n*n);
for(i=0;in+1;i++)
{
for (j=0;jn+1;j++)
G->a[i][j]=G->NoEdge;
}
return G;
}
int GraphEdges(Graph(G)) /*输出边数*/
{return G->e;}
int GraphVertices(Graph(G)) /*输出顶点数*/
{return G->n;}
int GraphExist(int i,int j,Graph G) /*判断边是否存在*/
{
if(in||G->a[i][j]==G->NoEdge) return 0;
return 1;
}
void GraphAdd(int i,int j,WItem w,Graph G) /*加入一条边*/
{
if(in||G->n||i==j||G->a[i][j]!=G->NoEdge)
printf("Bad input");
G->a[i][j]=w;
G->e++;
}
void GraphDelete(int i,int j,Graph G) /*删除一条边*/
{
if(in||j>G->n||G->a[i][j]==G->NoEdge)
printf("Bad input");
G->a[i][j]=G->NoEdge;
G->e--;
}
int OutDegree(int i,Graph G) /*计算出度*/
{
int j,sum=0;
if(iG->n) printf("Bad input");
for(j=1;jn;j++)
if(G->a[i][j]!=G->NoEdge) sum++;
return sum;
}
int InDegree(int i,Graph G) /*计算入度*/
{
int j,sum=0;
if(iG->n) printf("Bad input");
for(j=1;jn;j++)
if(G->a[i][j]!=G->NoEdge) sum++;
return sum;
}
/*输出表*/
void GraphOut(Graph G)
{
int i,j;
for(i=1;in;i++)
{
for(j=1;jn;j++)
{printf("%d",G->a[i][j]);
printf("\n");}
}
}
void main() /*测试该图类型数据结构算法*/
{
int p,q,n,e,i,j,w,noEdge;
Graph G;
noEdge=0;
printf("几个结点\n");
scanf("%d",&n);
Graph Graphinit(int n,WItem noEdge);
printf("加入几条边\n");
scanf("%d",&e);
for(p=0;pa[i][j]);
}
}

用邻接矩阵表示一个图时 1、 输出一个图的边数,以及两端顶点 2、 增加、删除一条边(输出新图对应的邻接C语言,用邻接矩阵表示一个图时1、 输出一个图的边数,以及两端顶点2、 增加、删 当一个有n个顶点的有向图用邻接矩阵A表示时,顶点Vi的出度是 建立无向图,输入一个邻接矩阵,求输出边的条数, 1.给出一个无向图的邻接矩阵,输出各个顶点的度,要程序!2.给出一个有向图的邻接矩阵,输出各个顶点的入度与出度.要程序! 概要描述一个算法,判断一个用邻接矩阵表示的连通图是否具有欧拉回路.该算法效率类型如何? 图的遍历:深度优先搜索(邻接矩阵存放)图中结点数不少于20个,每个结点用一个编号表示,通过输入图的全部边输入一个图,以用户给定的点为起始点,对图进行广度优先搜索,输出结点的访问 怎样用邻接矩阵为存储结构创建一个无向图 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是 关于数据结构中图的问题对于一个无向图,假定采用邻接矩阵表示,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列…题目之中的采用邻接矩阵表示,跟不采用邻接矩阵得到的答案有 创建一个无向图,元素为整型,以邻接矩阵为存储结构,输出该图的深度化先搜索序列,求连通分量的个数输出遍历时走过的边的个数 .n个顶点的连通图用邻接矩阵表示时,该矩阵至少有__个非零元素. 数据结构:n个顶点无向图 用邻接矩阵表示 图中有多少条边~怎么判别~很苦恼~我问的不是算法~是给出了一个具体的矩阵~然后怎么根据这个矩阵来判别~ 一有向图有n个节点,用邻接矩阵表示其二元关系,用C++随机生成其邻接矩阵,求代码? 已知一个图的邻接矩阵,怎样找出图中所有的圈? 用数组表示法(邻接矩阵)和邻接表两种存储结构分别表示下面的无向图. 已知一个图的邻接矩阵或邻接表,如何判断此图是有向图还是无向图 已知一个无向有限图的邻接矩阵,怎么求这个图的连通分支数啊? 判断:一个无向图的邻接矩阵中各元素之和与图中边的条数相等