图的认识
前语
什么是图?它能用来干嘛?本文将以图文的方式带你回答上述疑问,欢迎各位感兴趣的开发者阅览本文。
概念
如下图所示,圆圈叫做极点(结点),衔接极点的线叫做“边”,也就是说,由极点和衔接每对极点的边所构成的图形就是图。

作用
图能够用来体现各种联系:
-
人际联系
图能M C ` X Y够变现社会中的各种联系,运用起来非常便利。假定咱们要举行一场活动,将参与人员作为极点,把互相认识的人用边衔接,就能用来体; – u D R o ! 3 =现参与人员之间的人际联系了。 -
将车站作为极点,把相邻两站用边衔接,就能用图来体现地铁的道路。
-
在计算机网络中,把路由器作为极点,将相互衔接的两个路由器用边衔接,这样就能用图来体现网络的衔接联系。
分类
图大致分为无向图、加权图、有向图
加权图
上面x / $ h i ~ A U u讲到的都是由极点W n R 8 % ]和边构成的图,而咱们还能够给边加上一个值。
这个值就叫做边的权重或许权R C L,加了权的图被称为“加权图”。没有权的边只能表明两个极点的衔接状况,而有权的边就能够表明极点之间的“P 4 b 8 M z C衔接程度”。

程度:根据图的内容不同,其表明的意思也不同,比方在计算机[ Q m H L 1 9 p网络中,给两台路由器之间的边加上传输数据所需要的时刻,这张图就能表明网络之 B h [ t F ( 3 #间的通讯时刻了。
而在道路图中,假如把地铁在两个车站间行进的时刻加在边上,这张图就能体现整个道路的移动时刻;假如两个车站间的票价加载边上,就能体现搭 = O S ~ 5 W o v车费了。
有向图
当咱们想在道路图中表s $ & 4 Q a q明该道路只能单向行进时,就能够给边上% X m } 1加上A ( G + % m 1箭头,而这样的图就叫做“有向图”。比方网页里的链接也是有方向性的,用有向图来表明就会很便利b K ( ) $ L ~。
边上没有箭头的图便是“无向图”。
如图所示,咱们能够从极点A到极点B,但不能i w w ( D n a R 5直接从B到A,而B和C之间有两条边别离指向两个方向,因r = C y N = A O此能够双向移动。
和无向图一样,有向图的边也能够加上权重。
如图所示,从极点B到极点C的权重为5,而从C到B的权重为7,假如做的是一个表明移动时刻的图,从B到C就是下坡路& L F V s u。就像这样,有向图还能够设置非对称的权重

便利性
假定图中有两个极点 s 和 t,而咱~ y 5 ^ $们规划出了一种算法,能够找到“从s到t的权重之和最小”的* e !那条途径。
那么,这种算法就能够应用到这些问题上:寻觅计算机网络中通讯时刻最短的途径,寻觅道路图中耗时最短的途径,寻觅道路图中最省搭车费的途径等。
就像这样,只需能用图来表明这些联系,咱们就能够用处理图问题的算法来处理这些看似不一样的问题。
图的查找
图的查找j ! e N U n d,指得是从图的某一个极点开始,通过边到边抵达不同的极点,最终找到目标极点的进程。根据查找的次序不同,图的查找算法有“广度优先查找”、“深度优& X Z先查找”等。
图的查找能够处理图的基本问题:最短途径问题的算法,最短途径问题即“从 s 到 t”的途径} $ 5 8 G x E中,找到一条所经~ C r $过的边的权重总和最小的途径。
写在最终
- 文中运用的图片源自《I ? S O D p我的第一本算法书》,如若侵权,请谈论区K K I b h =留言,作者立即删去相关图片。
- 文= 6 1 h W – a _中如有错误,欢迎在谈论区指正,假如这篇文章帮到了X # 2 + D 2 m你,欢迎点( i f 0 Z v 0 y 赞和重B ^ L C * T视
- 本& y _ 4 , N文首发于掘金,未经许可禁止转载