数据结构图实验报告

玻璃助剂数据结构教程
上机实验报告
实验七、 图算法上机实现
一、实验目的:
1.了解熟知图的定义和图的基本术语,掌握图的几种存储结构。
2.掌握邻接矩阵和邻接表定义及特点,并通过实例解析掌握邻接矩阵和邻接表的类型定义。
3.掌握图的遍历的定义、复杂性分析及应用,并掌握图的遍历方法及其基本思想。
二、实验内容:
1.建立无向图的邻接矩阵
2.图的深度优先搜索
3.图的广度优先搜索
三、实验步骤及结果
1.建立无向图的邻接矩阵:
1)源代码:
#include "stdio.h"
#include "stdlib.h"
#define MAXSIZE 30
typedef struct
{
爬梯电动轮椅
    char vertex[MAXSIZE];//顶点为字符型且顶点表的长度小于MAXSIZE
    int edges[MAXSIZE][MAXSIZE];//边为整形且edges为邻近矩阵
}MGraph;//MGraph为采用邻近矩阵存储的图类型
void CreatMGraph(MGraph *g,int e,int n)
{//建立无向图的邻近矩阵g->egdes,n为顶点个数,e为边数
    int i,j,k;
    printf("Input data of vertexs(0~n-1):\n");
    for(i=0;i<n;i++)
        g->vertex[i]=i; //读入顶点信息
电压跟随电路    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            g->edges[i][j]=0; //初始化邻接矩阵
        for(k=1;k<=e;k++)//输入e条边
        {
            printf("Input edges of(i,j):");
打塞机            scanf("%d,%d",&i,&j);
            g->edges[i][j]=1;
            g->edges[j][i]=1;
        }
}
void main()
{
    int i,j,n,e;
    MGraph *g; //建立指向采用邻接矩阵存储图类型指针
    g=(MGraph*)malloc(sizeof(MGraph));//生成采用邻接举证存储图类型的存储空间
    printf("Input size of MGraph:"); //输入邻接矩阵的大小
    scanf("%d",&n);
    printf("Input number of edge:"); //输入邻接矩阵的边数
    scanf("%d",&e);
    CreatMGraph(g,e,n); //生成存储图的邻接矩阵
    printf("Output MGraph:\n");//输出存储图的邻接矩阵
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%4d",g->edges[i][j]);黄秋葵软胶囊
        printf("\n");
    }
}
2)运行结果:
2.图的深度优先搜索:
1)源代码:
#include "stdio.h"
钢套箱
#include "stdlib.h"
#define MAXSIZE 30
typedef struct node//邻接表结点
{
    int adjvex;//邻接点域
    struct node *next;//指向下一个邻接边结点的指针域
}EdgeNode; //邻接表结点类型
typedef struct vnode//顶点表结点
{
    int vertex;//顶点域
    EdgeNode *firstedge; //指向邻接表第一个邻接边节点的指针域
}VertexNode;//顶点表结点类型
void CreatAdjlist(VertexNode g[],int e,int n)
{//建立无向图的邻接表,n为顶点数,e为边数,g[]存储n个顶点表结点
    EdgeNode *p;
    int i,j,k;
    printf("Input data of vetex(0~n-1);\n");
    for(i=0;i<n;i++)//建立有n个顶点的顶点表
    {
        g[i].vertex=i; //读入顶点i信息
        g[i].firstedge=NULL; //初始化指向顶点i的邻接表表头指针
    }
    for (k=1;k<=e;k++)//输入e条边

本文发布于:2024-09-23 09:25:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/171862.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:邻接   顶点   掌握   实验   类型   定义   结点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议