• 谈一谈图都有哪些存储方式?


    谈一谈图都有哪些存储方式?

    1. 邻接矩阵

                                                                         对于无向图来说,是对称的

    2. 邻接表

             

              一个数组里面存储顶点所指向的下一个节点链表

          3.十字链表

       十字链表是二维的,链表的元素同时链接左右水平邻结点与上下垂直邻结点。

       这是十字链表节点元素的定义

    struct OLNod{
           int i ;   //该非零元的行下标; 
           int j ;   //该非零元 的列下标; 
           int value ;   //该非零元的数值;
           struct OLNod *right ,*down ;//该非零元所在的行表和列表的后继链域; 
     };

    struct CrossL{
          OLNod **rhead, **sead; 
             //十字链表的行头指针和列头指针; 定义为指向指针的指针;
         int row;     //稀疏矩阵的行数; 
         int col;     //稀疏矩阵的列数; 
         int num;     //稀疏矩阵的非零个数; 
      };

       4.邻接多重表

           邻接多重表适用于无向图存储。

           

    有两个链表组成,左边的是该顶点相关的信息如顶点名称

    右边的是表示边界点

    mark表示这条边是否被访问过

    ivex和jvex为该边依附的两个顶点在图中的位置,如(vi,vj)

    ilink指向下一条依附于顶点ivex的边  jlink指向下一条依附于顶点jvex的边

    info是改边的信息

  • 相关阅读:
    .net c# gif动画如何添加图片水印
    Webbrowser控件设置所使用的内核
    WPF 用户控件不显示标记
    Spark应用场景以及与hadoop的比较
    Spark基本函数学习
    uniapp H5发布后在部分手机字体变大,导致页面错乱
    uni 小程序图片路径转base64
    uniapp px与upx(rpx)相互转换
    uniapp调用扫码功能
    uniapp 引入第三方字体
  • 原文地址:https://www.cnblogs.com/cwllife/p/15805019.html
Copyright © 2020-2023  润新知