美文网首页
邻接矩阵创建无向图

邻接矩阵创建无向图

作者: 秣禾 | 来源:发表于2020-06-29 08:51 被阅读0次

程序中多次使用for循环(程序中顶点数以及边数是确定的)。

最终输出邻接矩阵(两层for循环实现)即为输出二维数组的操作。

设图G有n个顶点,则邻接矩阵是一个n × n的方阵,定义为:

无向图的邻接矩阵,两个顶点有边则为1,否则,为0;因为是无向图arc[i][j] = arc[j][i],所以矩阵为对称矩阵,对角线为自己到自己的边,邻接矩阵中,行之和或者列之和都为各顶点度的总数。

设图G有向网图,有n个顶点,则邻接矩阵是一个n × n的方阵,定义为:


代码实现邻接矩阵存储无向图:

#include<stdio.h> //头

//有函数调用
typedef struct   //邻接矩阵定义

{
 int vers[20];
 int arcs[20][20];
 int n,e;
}graph;

void createUDG(graph *G)  //创建无向图邻接矩阵

{
 int i,j,k;
 int a,b;
 printf("请输入当前图的顶点数和边数,中间用空格分隔");
 scanf("%d %d",&G->n,&G->e);
 printf("请输入顶点信息");
 for(i=0;i<G->n;i++)
    scanf("%d",&(G->vers[i]));
 printf("输出顶点信息");
 for(i=0;i<G->n;i++)
 printf("%d",G->vers[i]);
 for(i=0;i<G->n;i++)
 {
  for(j=0;j<G->n;j++)
   G->arcs[i][j]=0;
 }
 for(k=0;k<G->e;k++)
 {
  int v1,v2;
  printf("请输入第%d条边依附的两个点:",k+1);
  scanf("%d %d",&v1,&v2);
  if(v1>G->n||v2>G->n)
  {
   printf("error");
  }
  for(i=0;v1!=G->vers[i];i++);
  for(j=0;v2!=G->vers[j];j++);
  G->arcs[i][j]=G->arcs[j][i]=1;
 }
}


int main()     //主
{
 graph g;
 int i,j;
 createUDG(&g);
 for(i=0;i<g.n;i++)
 {
  for(j=0;j<g.n;j++)
  printf("  %2d  ",g.arcs[i][j]);
  printf("\n");
 }
 return 0;
}

相关文章

  • 邻接矩阵创建无向图

    程序中多次使用for循环(程序中顶点数以及边数是确定的)。 最终输出邻接矩阵(两层for循环实现)即为输出二维数组...

  • 图论——深度优先遍历和广度优先遍历(Java)

    图数据结构的定义 无向图 无向图的特点 邻接矩阵是对称的 有向图 图的存储 邻接矩阵存储方式 如下图所示,二维矩阵...

  • 图的表示和存储结构

    图的表示:两种表示方法 邻接矩阵和邻接表 无向图 有向图 图的权 连通图 度 图的存储结构 1、邻接矩阵存储 浪...

  • 数据结构-图

    数据结构 - 图 目录: 基本概念无向图有向图 储存结构邻接矩阵邻接表十字链表(有向图)邻接多重表(无向图) 图的...

  • 数据结构_图(2_图的存储结构)

    二、图的存储结构 2.1 邻接矩阵 2.1.1无向图 2.1.2有向图 2.1.3无向网 2.1.4有向网 2.2...

  • 面试准备之【数据结构】1——图

    一. 有向图/无向图 共有:邻接表,邻接矩阵 有向图独有:十字链表,边集数组 无向图独有:邻接多重表 1.邻接矩...

  • 关联矩阵与邻接矩阵 2018-11-27

    参考: 关联矩阵与邻接矩阵 1. 邻接矩阵 1.1 定义 设无向图 G=(V, E),其中顶点集 , 边集 ,用 ...

  • 数据结构-学习二

    图: 无向图,有向图度,子图,路径,环,连通图,连通子图。 存储: 邻接矩阵二维数组。 邻接表+数组加链表优先搜...

  • 基本的数据结构有哪些

    图: 有向图:无向图: 图的存储结构:1,邻接矩阵(数组表达)2,邻接表和十字链表,链表表达,主要表达有向图3,邻...

  • 图 2019-04-20

    图实现有向图、无向图、有权图、无权图的邻接矩阵和邻接表表示方法实现图的深度优先搜索、广度优先搜索实现 Dijkst...

网友评论

      本文标题:邻接矩阵创建无向图

      本文链接:https://www.haomeiwen.com/subject/lfgnfktx.html