图的认识

简介: 图的认识

前言


什么是图?它能用来干嘛?本文将以图文的形式带你解答上述疑惑,欢迎各位感兴趣的开发者阅读本文。


概念


如下图所示,圆圈叫做顶点(结点),连接顶点的线叫做“边”,也就是说,由顶点和连接每对顶点的边所构成的图形就是图。


640.png


作用


图可以用来表现各种关系:


  • 人际关系 图可以变现社会中的各种关系,使用起来非常方便。假设我们要举行一场活动,将参加人员作为顶点,把互相认识的人用边连接,就能用来表现参加人员之间的人际关系了。


640.png

  • 将车站作为顶点,把相邻两站用边连接,就能用图来表现地铁的路线。


640.png


  • 在计算机网络中,把路由器作为顶点,将相互连接的两个路由器用边连接,这样就能用图来表现网络的连接关系。

640.png


分类


图大致分为无向图、加权图、有向图


加权图


上面讲到的都是由顶点和边构成的图,而我们还可以给边加上一个值。


这个值就叫做边的权重或者权,加了权的图被称为“加权图”。没有权的边只能表示两个顶点的连接状态,而有权的边就可以表示顶点之间的“连接程度”。


640.png


程度:根据图的内容不同,其表示的意思也不同,比如在计算机网络中,给两台路由器之间的边加上传输数据所需要的时间,这张图就能表示网络之间的通信时间了。


而在路线图中,如果把地铁在两个车站间行驶的时间加在边上,这张图就能表现整个路线的移动时间;如果两个车站间的票价加载边上,就能表现乘车费了。


有向图


当我们想在路线图中表示该路线只能单向行驶时,就可以给边上加上箭头,而这样的图就叫做“有向图”。比如网页里的链接也是有方向性的,用有向图来表示就会很方便。

边上没有箭头的图便是“无向图”。


如图所示,我们可以从顶点A到顶点B,但不能直接从B到A,而B和C之间有两条边分别指向两个方向,因此可以双向移动。


和无向图一样,有向图的边也可以加上权重。


如图所示,从顶点B到顶点C的权重为5,而从C到B的权重为7,如果做的是一个表示移动时间的图,从B到C就是下坡路。就像这样,有向图还可以设置非对称的权重


640.png


便利性


假设图中有两个顶点 s 和 t,而我们设计出了一种算法,可以找到“从s到t的权重之和最小”的那条路径。


那么,这种算法就可以应用到这些问题上:寻找计算机网络中通信时间最短的路径,寻找路线图中耗时最短的路径,寻找路线图中最省乘车费的路径等。


就像这样,只要能用图来表示这些关系,我们就可以用解决图问题的算法来解决这些看似不一样的问题。


图的搜索


图的搜索,指得是从图的某一个顶点开始,通过边到边到达不同的顶点,最终找到目标顶点的过程。根据搜索的顺序不同,图的搜索算法有“广度优先搜索”、“深度优先搜索”等。


图的搜索可以解决图的基本问题:最短路径问题的算法,最短路径问题即“从 s 到 t”的路径中,找到一条所经过的边的权重总和最小的路径。

相关文章
|
8月前
|
存储
|
8月前
|
算法
|
5月前
|
算法 决策智能 索引
二部图问题
二部图问题
|
6月前
|
算法
暗藏玄机的璇玑图
暗藏玄机的璇玑图
78 0
|
7月前
|
人工智能 计算机视觉 开发者
一、图 图是由一组节点和边组成的非线性数据结构,用于描述节点之间的关系。图的节点称为顶点,边表示顶点之间的连接关系。图可以用于描述现实世界中的各种关系,例如社交网络中的好友关系、城市之间的道路连接、电路中的元器件连接等。 图的主要特点包括: 1. 顶点:图的基本单位,用于表示实体或抽象概念。 2. 边:用于表示顶点之间的连接关系,可以是有向或无向的,带权或不带权的。 3. 路径:连接图中两个顶点的路径是由一系列相邻的边构成的序列。 4. 连通性:如果图中任意两个顶点之间都存在路径,则称该图为连通图,否则为非连通图。 5. 度:顶点的度表示与该顶点相邻的边的数量。 6. 子图:图中的一部分称为子
23 0
|
8月前
debounceTime 和 throttleTime 的弹珠图
debounceTime 和 throttleTime 的弹珠图
29 0
|
8月前
|
10月前
|
算法
N-S图详解
N-S图详解
505 0
|
10月前
E—R图总结
E—R图总结
46 0
|
10月前
E-R图的认识
E-R图的认识