数据结构与算法学习笔记——图(Graph)

什么是图:

                                   数据结构与算法学习笔记——图(Graph)_第1张图片

                                  数据结构与算法学习笔记——图(Graph)_第2张图片

图的一些概念:

顶点:图中的元素

边: 图中的一个顶点可以与任意其他顶点建立连接关系,这种建立的关系就是边

度: 与顶点相连接的边的条数(无向图概念)

无向图: 边无方向的图

有向图: 边有方向的图

稀疏图(Sparse Matrix) : 顶点很多,但每个顶点的边并不多

带权图(weighted graph) 。在带权图中,每条边都有一个权重 (weight)

                                   数据结构与算法学习笔记——图(Graph)_第3张图片

有向图的一些概念:

入度(In-degree) : 表示有多少条边指向这个顶点

出度(Out-degre) : 表示有多少条边是以这个顶点为起点推向其他顶点

图的存储:  

    邻接矩阵(Adjacency Matrix):

    邻接矩阵的底层依赖一个二维数组。对于无向图来说,如果顶点i与顶点j之间有边,我们就将 Alij]和AJ[i标记为1;对于有向图来说,如果顶点i到顶点j之间,有一条箭头从顶点i指向顶点j的边,那我们就将Ai0j]标记为1。同理,如果有一条箭头从顶点j指向顶点i的边,我们就将Alji]标记为1。对于带权图,数组中就存储相应的权重。   

                   数据结构与算法学习笔记——图(Graph)_第4张图片                

优点: 简单直观,缺点: 浪费存储空间

 

邻接表存储法:

            数据结构与算法学习笔记——图(Graph)_第5张图片

你可能感兴趣的:(数据结构与算法学习笔记——图(Graph))