首页 > 代码库 > 4、非线性结构--图——数据结构【基础篇】

4、非线性结构--图——数据结构【基础篇】

非线性结构——图

图的几个类别:

      有向图 ——有向图采用<>表示

      无向图——无向图采用()表示

      完全图无向图——如果具有n个顶点,n(n-1)/2条边的图

      完全图有向图——如果具有n个顶点,n(n-1)条弧的图

      稀疏图——如果边数小于完全图的边数

      稠密图——如果边数大于完全图的边数

 

图的几个基本概念:

      度——在图中,一个顶点依附的边数或弧的数目,某个顶点的出度和入度之和称为该顶点的度

      入度——在图中,一个顶点依附的弧头数目

      出度——在图中,一个顶点依附的弧尾数目

 

图的存贮结构:

    1、图的邻接矩阵:

        从无向图的邻接矩阵得出的结论:

          1)矩阵是对称的

          2)第i行或第i列1的个数为顶点i的度

          3)矩阵中1的个数的一半为图中边的数目

          4)判断顶点i和顶点j之间是否有边相连

         从有向图的邻接矩阵得出的结论:

          1)矩阵不一定是对称的

          2)第i行中1的个数为顶点i的出度

          3)第j列中1的个数为顶点i的入度

          4)矩阵中1的个数为图中弧的数目

          5)判断顶点i和顶点j之间是否有弧相连

    2、网的邻接矩阵:

          1、顶点i和顶点j之间存在边,则采用两者之间的权值表示

          2、顶点到自己采用0表示

          3、顶点i和顶点j之间不存在边,则采用无穷大表示

    3、图的邻接表:
        两个结点:

          表结点——
          头结点——以顺序结构存储

        从无向图的邻接表得出的结论:

            1)第i个链表中结点数目为顶点i的度

            2)所有链表中结点数目的一半为图中边数

            3)占用的存储单元数目为n+2e

图的遍历
深度优先搜索
广度优先搜索

无向网连通的相关问题:

生成树和最小生成树
树——无回路连通图
深度优先生成树
广度优先生成树

最小生成树的两个算法
普里姆算法
克鲁斯卡尔算法


有向网连通的相关问题:
最短路径:
迪杰斯特拉算法

拓扑排序:

 

4、非线性结构--图——数据结构【基础篇】