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

什么是图:

                                   

                                  

图的一些概念:

顶点:图中的元素

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

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

无向图: 边无方向的图

有向图: 边有方向的图

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

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

                                   

有向图的一些概念:

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

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

图的存储:  

    邻接矩阵(Adjacency Matrix):

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

                                   

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

邻接表存储法:

            

猜你喜欢

转载自blog.csdn.net/ityqing/article/details/85788204