图的概念、存储和遍历

一、图的定义

单从字面上来看,我们可能会理解为图片,比如:

在这里插入图片描述

不好意思放错图了。这些图片都是由千千万万个像素点组成,和我们今天学的图不一样。

其实,图不只有点,它还由一些连接两个点的边组成。所以,点用边连起来就叫图。若我们把图记为 G G G,把点记为 V V V,把边记为 E E E,则 G = ( V , E ) G=(V,E) G=(V,E)


二、基本概念

1. 图的分类

对于一条边 k k k,它肯定连接了两个点 i i i j j j。生活中,我们把点 i i i j j j 看作两个城市,边看成 i i i j j j 中间的道路 k k k。那么 i i i 可以通过 k k k 到达 j j j,同理, j j j 也能通过 k k k 到达 i i i对于这样双向连接的图,称为无向图。

不同于现实,在另一种图中,每条边都有了方向。即,指定只能从 i i i j j j 而不能从 j j j i i i,这就是有向图。

当一个图里面的边很多时,我们会直观地认为这个图很密、满,称作稠密图。相反,若边很少,则称作稀疏图

特殊的,若一个图的边已经连完,即对于任意 1 ≤ i , j ≤ n 1 \leq i,j \leq n 1i,jn i i i j j j 都有边相连。这样的图称作完全图。对于有向图,每个点都要与除自己以外的 n − 1 n-1 n1 个点相连,故共有 n ( n − 1 ) n(n-1) n(n1) 个点。而对于无向图,因为有向图中毎两个点之间要连两条边,而无向图只需要一条,是有向图的一半,所以共有 n ( n − 1 ) 2 \frac {n(n-1)} 2 2n(n1) 个点。

对于有向图,有一种情况需要考虑:从一个点出发,经过一系列遍历后,最终可以回到该点。对于起点和终点相同的路径,我们称这是一个,又称回路。所以,有向无环图横空出世(虽然我也不知道为什么),很多题都与它相关。只不过,有些题会说成它的另一种名称:DAG


2. 点和边

接下来就是一些很死的定义:

点的:与该点相连的边的数量。

在有向图中,起点为该点的边数称作该点的出度。相反,终点为该点的边数称作该点的入度。

权值:边的费用。可以理解成边的长度。

连通:若点 i i i j j j 相连,即有一条通路可以从 i i i 到达 j j j,则称 i i i j j j 是连通的。 j j j i i i 不一定是连通的。

自环:若边 k k k 连接了点 i i i i i i 自己,则称 k k k 为自环。在许多题目中,往往要对自环进行处理。 因为它没有意义,但却会影响程序。


三、存储

1.邻接矩阵

定义一个二维数组 G i , j G_{i,j} Gi,j。其中, i i i j j j 表示任意两点。

  • 无权值。若 i i i j j j 之间有边,则 G i , j = 1 G_{i,j}=1 Gi,j=1。否则 G i , j = 0 G_{i,j}=0 Gi,j=0
  • 有权值。若 i i i j j j 之间有边,则 G i , j = w G_{i,j}=w Gi,j=w w w w 为权值)。否则, G i , j = + ∞ G_{i,j}=+\infty Gi,j=+

持续更新中。。。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值