精华内容
下载资源
问答
  • 数据结构图的邻接矩阵,邻接表存储表示,图的深度优先搜索遍历,广度优先搜索遍历 数据结构图的邻接矩阵,邻接表存储表示,图的深度优先搜索遍历,广度优先搜索遍历.rar
  • 程序设计任务: 设计一个程序,实现邻接表或者邻接矩阵存储结构,实现连通无向图的深度优先和广度优先遍历。基本要求:邻接表或者邻接矩阵存储结构,实现连通无向图的深度优先和广度优先遍历。用户指定的...
  • 6-2 求采用邻接矩阵作为存储结构的有向图各顶点的入度 (6 分) 本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的入度的值。 函数接口定义: 函数接口为: void indegree(MGraph G); G为...

    题目详情:

    6-2 求采用邻接矩阵作为存储结构的有向图各顶点的入度 (6 分)

    本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的入度的值。

    函数接口定义:

    函数接口为:
    void indegree(MGraph G);

    G为采用邻接矩阵作为存储结构的有向图。

    裁判测试程序样例:

    #include <stdio.h>
    #define MVNum 100                 //最大顶点数 
    typedef struct{ 
      char vexs[MVNum];           //存放顶点的一维数组 
      int arcs[MVNum][MVNum];     //邻接矩阵 
      int vexnum,arcnum;          //图的当前顶点数和弧数 
    }MGraph; 
    void indegree(MGraph G);
    void CreatMGraph(MGraph *G);/* 创建图 */
    int main()
    {
        MGraph G;
        CreatMGraph(&G);
        indegree(G);
        return 0;
    }
    void CreatMGraph(MGraph *G)
    {
        int i,j,k;
        scanf("%d%d",&G->vexnum,&G->arcnum);
        getchar();
        for(i=0;i<G->vexnum;i++)
           scanf("%c",&G->vexs[i]);
        for(i=0;i<G->vexnum;i++)
           for(j=0;j<G->vexnum;j++)
               G->arcs[i][j]=0;
        for(k=0;k<G->arcnum;k++)
        {  
          scanf("%d%d",&i,&j);     
          G->arcs[i][j]=1;    
        }
    }
    
    /* 请在这里填写答案 */

    输入样例:

    例如有向图

    有向图.png

    第一行给出图的顶点数n和弧数e。第二行给出n个字符,表示n个顶点的数据元素的值。后面是e行,给出每一条弧的两个顶点编号。

    4 5
    ABCD
    1 0
    2 0
    2 1
    3 2
    3 1

    输出样例:

    输出n个顶点的元素值,顶点的数据类型为字符型。以及各顶点的入度值

    A:2
    B:2
    C:1
    D:0

    答案代码:

    
    void indegree(MGraph G)
    {
       int i=0,j=0;
    	for(i=0;i<G.vexnum;i++)
        {
    		int s=0;
    		for(j=0;j<G.vexnum;j++)
    			if(G.arcs[j][i]==1)
                        s++;
    		printf("%c:%d\n",G.vexs[i],s);
    	}
    }
    
    

    案例编译结果:

     

    提交结果:

     

     

    展开全文
  • 6-1 求采用邻接矩阵作为存储结构的有向图各顶点的出度 (10 分) 本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值。 函数接口定义: 函数接口为: void outdegree(MGraph G); G...

    6-1 求采用邻接矩阵作为存储结构的有向图各顶点的出度 (10 分)

    本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值。

    函数接口定义:

    函数接口为:
    void outdegree(MGraph G);

    G为采用邻接矩阵作为存储结构的有向图。

    裁判测试程序样例:

    #include <stdio.h>
    #define MVNum 100                 //最大顶点数 
    typedef struct{ 
      char vexs[MVNum];           //存放顶点的一维数组 
      int arcs[MVNum][MVNum];     //邻接矩阵 
      int vexnum,arcnum;          //图的当前顶点数和弧数 
    }MGraph; 
    void outdegree(MGraph G);
    void CreatMGraph(MGraph *G);/* 创建图 */
    int main()
    {
        MGraph G;
        CreatMGraph(&G);
        outdegree(G);
        return 0;
    }
    void CreatMGraph(MGraph *G)
    {
        int i,j,k;
        scanf("%d%d",&G->vexnum,&G->arcnum);
        getchar();
        for(i=0;i<G->vexnum;i++)
           scanf("%c",&G->vexs[i]);
        for(i=0;i<G->vexnum;i++)
           for(j=0;j<G->vexnum;j++)
              G->arcs[i][j]=0;
        for(k=0;k<G->arcnum;k++)
        {  
           scanf("%d%d",&i,&j);     
           G->arcs[i][j]=1;    
        }
    }
    
    /* 请在这里填写答案 */

    输入样例:

    例如有向图

    有向图.png

    第一行给出图的顶点数n和弧数e。第二行给出n个字符,表示n个顶点的数据元素的值。后面是e行,给出每一条弧的两个顶点编号。

    4 5
    ABCD
    1 0
    2 0
    2 1
    3 2
    3 1

    输出样例:

    输出n个顶点的元素值,顶点的数据类型为字符型。以及各顶点的出度值

    A:0
    B:1
    C:2
    D:2

    函数:

    void outdegree(MGraph G)
    {
        for(int i = 0;i<G.vexnum;i++)
        {
            if(i == 0)
            {
                printf("%c:",G.vexs[i]);
            }
            else
            {
                printf("\n%c:",G.vexs[i]);
            }
            int n = 0;
            for(int j = 0;j<G.arcnum;j++)
            {
                if(G.arcs[i][j] == 1)
                {
                    n++;
                }
            }
            printf("%d",n);
        }
    }
    展开全文
  • 这是用邻接矩阵存储结构的图类源代码,有完整的注释(每个变量的作用、函数执行的过程的文字描述等)。下面是图类的声明部分: //用邻接矩阵表示的图的类的定义 template class Graph { private: static ...
  • 假设以邻接矩阵作为图的存储结构,编写算法判别在给定的有向图中是否存在一个简单有向回路,若存在,则顶点序列的方式输出该回路(找到一条即可)。(注:图中不存在顶点到自己的弧)
  • G为采用邻接矩阵作为存储结构的有向图 裁判测试程序样例: #include <stdio.h> #define MVNum 100 //最大顶点数 typedef struct{ char vexs[MVNum]; //存放顶点的一维数组 int arcs[MVNum][MVNum]; //...

    函数接口定义:

    函数接口为:
    void outdegree(MGraph G);
    

    G为采用邻接矩阵作为存储结构的有向图

    裁判测试程序样例:

    #include <stdio.h>
    #define MVNum 100                 //最大顶点数 
    typedef struct{ 
      char vexs[MVNum];           //存放顶点的一维数组 
      int arcs[MVNum][MVNum];     //邻接矩阵 
      int vexnum,arcnum;          //图的当前顶点数和弧数 
    }MGraph; 
    void outdegree(MGraph G);
    void CreatMGraph(MGraph *G);/* 创建图 */
    int main()
    {
        MGraph G;
        CreatMGraph(&G);
        outdegree(G);
        return 0;
    }
    void CreatMGraph(MGraph *G)
    {
        int i,j,k;
        scanf("%d%d",&G->vexnum,&G->arcnum);
        getchar();
        for(i=0;i<G->vexnum;i++)
           scanf("%c",&G->vexs[i]);
        for(i=0;i<G->vexnum;i++)
           for(j=0;j<G->vexnum;j++)
              G->arcs[i][j]=0;
        for(k=0;k<G->arcnum;k++)
        {  
           scanf("%d%d",&i,&j);     
           G->arcs[i][j]=1;    
        }
    }
    
    /* 请在这里填写答案 */
    

    输入样例:

    例如有向图

    第一行给出图的顶点数n和弧数e。第二行给出n个字符,表示n个顶点的数据元素的值。后面是e行,给出每一条弧的两个顶点编号

    4 5
    ABCD
    1 0
    2 0
    2 1
    3 2
    3 1
    

    输出样例:

    输出n个顶点的元素值,顶点的数据类型为字符型。以及各顶点的出度值

    A:0
    B:1
    C:2
    D:2
    

    代码如下:

    void outdegree(MGraph G){
        int i,j;
        for(i=0;i<G.vexnum;i++){
            int d=0;
            for(j=0;j<G.vexnum;j++)
                if(G.arcs[i][j]==1)
                    d++;
            printf("%c:%d\n",G.vexs[i],d);
        }
    }
    
    展开全文
  • 6-1 求采用邻接矩阵作为存储结构的有向图各顶点的出度 (6 分) 本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值。 函数接口定义: 函数接口为: void outdegree(MGraph G); G...

     

    本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值。[附加:定义一个函数用于删除一条指定的边]

    函数接口定义:

    函数接口为:
    void outdegree(MGraph G);
    void DeleteArc(MGraph &G,VertexType v,VertexType w);
    

    G为采用邻接矩阵作为存储结构的有向图。

    裁判测试程序样例:

    #include <stdio.h>
    #define MVNum 100                 //最大顶点数 
    typedef struct{ 
      char vexs[MVNum];           //存放顶点的一维数组 
      int arcs[MVNum][MVNum];     //邻接矩阵 
      int vexnum,arcnum;          //图的当前顶点数和弧数 
    }MGraph; 
    void outdegree(MGraph G);
    void CreatMGraph(MGraph *G);/* 创建图 */
    int main()
    {
        MGraph G;
        CreatMGraph(&G);
        outdegree(G);
        return 0;
    }
    void CreatMGraph(MGraph *G)
    {
        int i,j,k;
        scanf("%d%d",&G->vexnum,&G->arcnum);
        getchar();
        for(i=0;i<G->vexnum;i++)
           scanf("%c",&G->vexs[i]);
        for(i=0;i<G->vexnum;i++)
           for(j=0;j<G->vexnum;j++)
            G->arcs[i][j]=0;
        for(k=0;k<G->arcnum;k++)
        {  
           scanf("%d%d",&i,&j);     
               G->arcs[i][j]=1;    
        }
    }
    
    /* 请在这里填写答案 */

    输入样例:

    例如有向图

    有向图.png

    第一行给出图的顶点数n和弧数e。第二行给出n个字符,表示n个顶点的数据元素的值。后面是e行,给出每一条弧的两个顶点编号。

    4 5
    ABCD
    1 0
    2 0
    2 1
    3 2
    3 1

    输出样例:

    输出n个顶点的元素值,顶点的数据类型为字符型。以及各顶点的出度值

    A:0
    B:1
    C:2
    D:2

     答案代码:

    /*输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值.G为采用邻接矩阵作为存储结构的有向图*/
    void outdegree(MGraph G)//邻接矩阵创建无向图,输出数据元素(输出)
    {
    	for(int j = 0; j < G.vexnum; j++)
     {
    		int a = 0;
    		for(int k = 0; k < G.vexnum; k++)
    			if(G.arcs[j][k] == 1)
    				a++;
    		printf("%c:%d\n",G.vexs[j],a);
    	}
    }
    
    /* 总结:
    步骤一:定义图的邻接矩阵存储表示
    步骤二:采用邻接矩阵表示法创建无向图(CreateUDG)
    步骤三:输出锁创建的邻接矩阵(PrintAMGraph)
    */
    
    //删除一条指定的边的函数【附加】
    void DeleteArc(MGraph &G,VertexType v,VertexType w)
    {
    		int temp_number_i;
    		int temp_number_j;
    	for(int i=0;i<G.n;i++)
    	{
    			if(G.vexs[i]==v)
    				temp_number_i=i;
    			if(G.vexs[i]==w)
    				temp_number_j=i;
    	}
    	G.edges[temp_number_i][temp_number_j]=32767;
    } 
    
    

    提交结果:

    输入案例及测试结果:

    编程实现效果:

    创建一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值,运用邻接矩阵表示法创建无向图。 

     

     

     

    展开全文
  • 领会图的两种主要存储结构、图基本运算算法和两种遍历算法设计内容:编写一个程序,设计带权图的邻接矩阵与邻接表的创建和输出运算,并在此基础上设计一个主程序完成如下功能:(1)建立如图所示的有向图G的邻接矩阵...
  • 分别以邻接矩阵和邻接表作为图的存储结构 很好的资料
  • 建立图的邻接矩阵或邻接表存储结构以邻接矩阵或邻接表为存储结构实现图的深度优先或广度优先遍历算法。 算法思想: 创建一个邻接矩阵的储存结构,vertex数组代表顶点向量集,arc二维数组储存邻接矩阵弧的权值,...
  • 1代码 1.1创建图的邻阶矩阵 void CreateMGraph(MGraph &g, int n, int e)//建图 { int x,y;... //初始化邻接矩阵 for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { g....
  • PTA 6-1 求采用邻接矩阵作为存储结构的无向图各顶点的度 (6分) 函数接口定义: 函数接口为: void dgree(MGraph G); G为采用邻接矩阵作为存储结构的有向图 裁判测试程序样例: #include <stdio.h> #define ...
  • 52-图的邻接矩阵存储结构及算法

    千次阅读 2018-07-17 16:37:35
    2. 邻接矩阵存储方法   邻接矩阵是表示顶点之间相邻关系的矩阵。设G = (V , E)是具有n(n &amp;amp;amp;amp;amp;amp;amp;amp;gt; 0)个顶点的图,顶点的编号依次为0 ~ n-1。G的邻接矩阵A是n阶方阵,其定义...
  • 6-3 求采用邻接矩阵作为存储结构的无向图各顶点的度 (6 分) 本题要求实现一个函数,输出无向图每个顶点的数据元素的值,以及每个顶点度的值。 函数接口定义: 函数接口为: void degree(MGraph G); G为采用邻接...
  • G为采用邻接矩阵作为存储结构的有向图。 裁判测试程序样例: #include <stdio.h> #define MVNum 100 //最大顶点数 typedef struct{ char vexs[MVNum]; //存放顶点的一维数组 int arcs[MVNu
  • 以邻接矩阵存储结构,采用深度优先遍历,输出图的所有顶点的值 测试数据 输入: 6 6 A B C D E F A B A C B E C E A D D F 输出:BACEDF #include&amp;amp;lt;iostream&amp;amp;gt; using ...
  • Prim算法计算最小生成树(无向图&邻接矩阵)——C语言实现。
  • 图的邻接矩阵存储结构 一、知识框架 二、存储方式(这里只讨论邻接矩阵存储方式) 在图的邻接矩阵存储结构中,顶点信息使用一维数组存储,边信息的邻接矩阵使用二维数组存储。 无向图和其对应的邻接矩阵 有向图 ...
  • 邻接矩阵存储的结构体中,包括一个存储边的结构体,存储每条边的信息(权值)将这个边的结构体的二维数组作为图的基本存储结构,放到单个图的结构体中每个图又包含总节点数、总边数、图的类型等信息
  • 邻接矩阵—图的存储结构

    千次阅读 2020-02-15 23:32:09
    图没有顺序存储结构,但可以借助二维数组来表示元素之间的关系,即邻接矩阵表示法 图的链式存储结构有多种,邻接表、十字链表、邻接多重表 邻接矩阵、邻接表是我们重点要研究的 邻接矩阵 1、邻接矩阵表示法 建立...
  • 邻接矩阵 Prim算法

    2012-12-16 20:24:30
    邻接矩阵 Prim 算法,C++完美实现,数据结构作业。
  • 本文实例讲述了Python根据已知邻接矩阵绘制无向图操作。分享给大家供大家参考,具体如下: 有六个点:[0,1,2,3,4,5,6],六个点之间的邻接矩阵如表格所示,根据邻接矩阵绘制出相对应的图 0 1 2 3 4 ...
  • 主讲人 李 刚 图的邻接矩阵表示法 C 目 录 ONTENTS 01 邻接矩阵的定义 邻接矩阵的定义 1 邻接矩阵是表示顶点之间相邻关系的矩阵设图G是具有n个顶点的图无论是有向图还是无向图则G的邻接矩阵是具有如下性质的n阶方阵 ...
  • 这是一个关于图的建立与遍历的问题,用的是c++实现,邻接矩阵作为存储
  • 数据结构实验报告
  • 假设图中各边的权值都相等,以邻接矩阵和邻接表为存储结构,分别写出算法:  (1)求顶点vi到顶点vj(i<>j)的最短路径  (2)求源点vi到其余各顶点的最短路径  要求输出路径上的所有顶点(利用BFS遍历的思想)
  • 1,基本思想: 1,用一维数组存储顶点:描述顶点相关的数据;... 1,设图 A = (V, E) 是一个有 n 个顶点的图,图的邻接矩阵为 Edge[n][n],则: 2,解决工程问题时,习惯于对图中的每个顶点进行...
  • 仅限学习使用 个人资料整理 数学与计算机学院 课程设计说明书 数据结构与算法课程设计名 称: 课程 : 6014389 码程 代 课 目: 无向图的邻接矩阵存储结构题 4班 级软件年级专业班: 2018// 名: 吴超学 生 姓 号: ...
  • 使用邻接矩阵存储

    2021-04-10 15:59:46
    其实图相比于其它数据结构较复杂,但也是十分易懂的,对于使用邻接矩阵存储的图来说,我们所需要知道的数据有 图的定点数、边数、用一个二维数组存储的边与边的联系及其权值,未连接的边我们要使用无穷表示,节点...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,800
精华内容 7,920
关键字:

以邻接矩阵作为存储结构