数据结构之图

来源:互联网 发布:马哥linux培训 编辑:程序博客网 时间:2024/06/16 02:01

1.图

图是由顶点的有穷非空集合和顶点之间的边的集合组成,通常表示为:G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合

2.图中定义

2.1无向边

若顶点Vi到Vj之间的边没有方向,则称这个边为无向边(Edge),用无序对(Vi,Vj)来表示。如果图中任意两个顶点之间的边都是无向边,则称该图是无向图;

2.2有向边

若顶点Vi到Vj之间的边有方向,则称这个边为有向边,也称为弧(Arc)。用有序对<Vi,Vj>来表示。其中vi称为弧尾(Tail),vj称为弧头(Head)。如果图中任意两个顶点之间的边都是有向边,则称该图是有向图;

2.3简单图

在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图

2.4无向完全图

在无向图中,如果任意两个顶点之间都存在边,则该图称为无向完全图。

2.5图的权

有些图的边或者弧具有与它相关的数字,这种与图的边或者弧相关的数叫做权(Weight)。这些权可以表示从一个顶点到另一个顶点的距离或耗费,这种带权的图通常称为网。

2.6有向图的弧度

以顶点v为头的弧的数目称为v的入度(InDegree),记做ID(v);以v为尾的弧的数目称为v的出度(OutDegree),记做OD(v);顶点v的度为TD(v)=ID(v)+OD(v)。

2.7回路与简单环

第一个和最后一个顶点相同的路径称为回路或环。序列中顶点不重复出现的路径称为简单路径。

2.8连通图

在无向图G中,如果顶点v到顶点v‘有路径,则称v和v’是连通的。如果对于图中任意两个顶点vi、vj∈E,Vi、Vj都是连通的,则称G是连通图。(Connected Graph)。

2.9无向图中的极大连通子图

  • 1.要是子图;
  • 2.子图要是连通的;
  • 3.连通子图含有极大顶点数;
  • 4.具有极大顶点数的连通子图包含依附于这些顶点的所有边
  • 2.10.有向图中的强连通分量

    在有向图中,如果对于每一对vi、vj∈V,从vi到vj和从vj到vi都存在路径,则称G是强连通图。有向图中的极大强连通子图称做有向图的强连通分量。

    3.连通图的生成树

    一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。

    4.1图的邻接矩阵

    图的临接矩阵(Adjacency Matrix)存储方式是用2个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(称为临界矩阵)存储图中的边或者弧的信息。

    无向图

    有了这个矩阵,

  • 我们要知道某个顶点的度,其实就是这个顶点vi在邻接矩阵中第i行(或者第i列)的元素之和;
  • 求顶点vi的所有邻接点就是将矩阵中的第i行元素扫描一遍。arc[i][j]为1的就是邻接点。
  • 有向图

    有向图的邻接矩阵并不对称。vi的入度是vi列各数之和,出度为vi行各数之和。

    网图

    4.2邻接表

    对于边数相对顶点较少的图,邻接矩阵浪费存储空间。
    将数组和链表相结合的存储方法称为邻接表。


    • 1.图中顶点用一个一维数组存储。(也可以采用单链表,不过数组元素可以容易地读取顶点信息,更加方便。)另外,在顶点数组中,每个数据元素还需要存储指向第一个邻接点的指针,以便于查找该顶点的边信息。
    • 2.图中每个顶点vi的所有邻接点构成一个线性表,由于邻接点个数不一定,所以用单链表存储,无向图称为顶点vi的边表,有向图称为顶点vi作为弧尾的出边表。

      原创粉丝点击
      热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 人用了狗沐浴露怎么办 狗狗吞食牙膏吐怎么办? 狗狗吞食了牙膏怎么办 大猪拉稀不吃食怎么办 猪不发烧不吃食怎么办 天天吃自热米饭怎么办 喝了加热包水怎么办啊 蛋挞没有盒子装怎么办 塑料饭盒盖子被吸住了怎么办 火腿淹的有臭味怎么办 微波炉热饭盖子打不开怎么办 夏天带饭容易馊怎么办? 保温饭盒里有气打不开怎么办 保温饭盒摔了一下打不开怎么办 饭盒跟盖子盖一起打不开怎么办 玻璃杯子盖被水吸住打不开怎么办 电饭煲热剩饭没加水怎么办 微波炉碗盖子吸住了怎么办 微波炉转饭盖子吸住了怎么办 玻璃碗放进微波炉打不开怎么办 乐扣微波炉加热后打不开怎么办 美的微波炉盖子打不开怎么办 美的微波炉门都打不开了怎么办 饭煮好了有异味怎么办 一正常吃饭就胖怎么办 高铁盒饭没15的怎么办 上火车前票丢了怎么办 减肥期吃了汉堡怎么办 寿司店鳗鱼有刺怎么办 吃泡面胃难受该怎么办 吃上火的东西脸上长痘痘怎么办 减肥期间吃撑了怎么办 喝了变质的牛奶怎么办 绿豆糕吃多了会怎么办 小孩抓米饭烫了手怎么办 减肥不来月经了怎么办 吃了馊了的米饭怎么办 饭在冰箱里硬了怎么办 剩米饭反潮了怎么办 吃馊米饭中毒后怎么办? 蒸熟的米饭发黄怎么办