图的遍历笔记1

图的概念

什么是图?
图是由一系列顶点和若干连结顶点集合内两个顶点的边组成的数据结构。

有向图和无向图

如果用边来表示好友关系,对于微信这种双向关注的社交网络没有问题,但是对于微博这种单向的关注如何表示?
于是引出了两个新的概念:有向边和无向边
简而言之,一条有向边必然是从一个点指向另一个点,而相反方向的边在有向图中则不一定存在,而有的时候我们并不在意构成一条边的两个顶点具体谁先谁后,这样得到的一条边就是无向边。就像在微信中,A是B的好友,那B也一定是A的好友,而在微博中,A关注B并不意味着B也一定关注A。
对于图而言,如果图中所有边都是无向边,则称为无向图,返之称为有向图。
简而言之,无向图中的边是好友,而有向图中的边是关注,一般而言,我们在数据结构中所讨论的图都是有向图,因为有向图相比无向图更具有代表性。
实际上,无向图可以由有向图来表示,如果AB两个点之间存在无向边的话,那有向图也可以表示为AB,两点之间同时存在A到B与B到A两条有向边
仍然以社交网络举例,虽然微博中并不存在明确定义的好友关系,但是一般情况下,如果你和另一个ID互相关注的话,那么我们可以近似认为,你和他是好友

形式化定义图

我们来形式化的定义一下图:图是由顶点集合和顶点间的边组成的数据结构,通常用G(V,E)来表示。其实点集用V(G)来表示,边集用E(G)来表示
在这里插入图片描述
如图,其点集为V(G)={A,B,C,D,E,F},边集E(G)={(A,B),(A,C),(A,D),(B,E),(B,F)}

在无向图中,顶点的度是指某个顶点连出的边数
在有向图中,和度对应的是入度和出度这两个概念,顶点的入度是指以该顶点为终点的有向边数量,顶点的出度是指以顶点为起点的有向边数量

度的性质

在无向图或者有向图中,顶点的度数总和为边数的两倍。
而在有向图中,有一个很明显的性质就是,入度等于出度

判断序列是否可图

一个序列是可图的,是指这个序列是某个无向图的度序列,判断一个序列是不是可图的,可以借助Havel-Hakimi定理
在这里插入图片描述
例如,我们要验证4,3,2,1是否可图,也就是相当于判断2,1,1,0是否可图,也就相当于判断0,0,0是否是可图的,而0,0,0显然是可图的(对应一个零图)。因此,序列4,3,2,2,1是可图的。
而对于序列3,3,1,也就是判断3,2,0,-1,出现了负数,因此这个序列一定是不可图的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值