zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然数据结构学习笔记:图的邻接多重表存储结构

    为了提高在无向图中操作顶点的效率,本节学习一种新的适用于存储无向图的方法——邻接多重表。
    注意,邻接多重表仅适用于存储无向图或无向网。
    
    邻接多重表存储无向图的方式,可看作是邻接表和十字链表的结合。同邻接表和十字链表存储图的方法相同,都是独自为图中各顶点建立一张链表,存储各顶点的节点作为各链表的首元节点,同时为了便于管理将各个首元节点存储到一个数组中。各首元节点结构如图 1 所示:

     

    #define MAX_VERTEX_NUM 20                   //图中顶点的最大个数
    #define InfoType int                        //边含有的信息域的数据类型
    #define VertexType int                      //图顶点的数据类型
    typedef enum {unvisited,visited}VisitIf;    //边标志域
    typedef struct EBox{
        VisitIf mark;                           //标志域
        int ivex,jvex;                          //边两边顶点在数组中的位置下标
        struct EBox * ilink,*jlink;             //分别指向与ivex、jvex相关的下一个边
        InfoType *info;                         //边包含的其它的信息域的指针
    }EBox;
    typedef struct VexBox{
        VertexType data;                        //顶点数据域
        EBox * firstedge;                       //顶点相关的第一条边的指针域
    }VexBox;
    typedef struct {
        VexBox adjmulist[MAX_VERTEX_NUM];//存储图中顶点的数组
        int vexnum,degenum;//记录途中顶点个数和边个数的变量
    }AMLGraph;
  • 相关阅读:
    CSS3点赞动画特效源码下载
    jQuery仿阿里云购买选择购买时间长度
    Ubuntu系统操作快捷键
    DIV+CSS颜色边框背景等样式
    HTML5翻页电子书
    淡蓝风格的手机登录HTML模板
    HTML常用符号
    SQL SERVER实例解析
    div+css页面右侧底部悬浮层
    C#引用C++代码
  • 原文地址:https://www.cnblogs.com/tszr/p/12901444.html
Copyright © 2011-2022 走看看