1
图 = 点 + 连线,就这么简单
图论里的「图」不是图表,而是一种结构:节点(Node,那些点)和边(Edge,那些线)。它完全不关心画得像不像,只关心「谁和谁相连」。
地铁线路图就是被「抽象」过的图论:真实的轨道弯弯曲曲,但图上只画「哪些站相连、坐几站」——把无关信息全部扔掉,只留结构。这种「只留关键、扔掉细节」的本事,正是数学最迷人的地方。
如果边上有数字(比如两站之间 5 分钟),就叫带权图,数字就是「代价」——时间、距离、花费都行。
2
起点:一座城市的七座桥
图论诞生于 1736 年的「哥尼斯堡七桥问题」:城里有条河、两座岛、七座桥,市民问:能不能不重复地走遍七座桥再回到原地?
数学家欧拉做了一个聪明到家的转化:把两座岛、两块岸各缩成一个点,七座桥就是七条线。然后他指出:想不重复地走遍,每个点必须有「偶数条线」(进出成对)——而四个点全是奇数条,所以答案是不存在这样的走法。
欧拉的高明在于「换视角」:不研究桥的长短宽窄,只研究「连接关系」。一个几千人争论不休的走路问题,被他用四个点七条线一锤定音。图论从此诞生。
3
最短路径:导航 App 的心脏
「从 A 到 B 哪条路最快」= 在带权图上找总代价最小的路径。经典解法叫 Dijkstra(迪杰斯特拉)算法,思路很像你自然会做的事:
- 从起点出发先标出「到隔壁点的最短距离」。
- 永远先处理「当前已知最近」的点像水面涟漪一样,一圈圈往外确认距离。
- 发现更近的路就更新「绕过大路反而快 2 分钟」——更新那个点的记录。
- 直到终点被确认终点一旦被确认,路线就是全局最短,结束。
配套知识点:仓库里记「谁和谁相连」的方式叫邻接表;探索顺序有「一层层扩散」(广度优先 BFS)和「一条路走到黑再回头」(深度优先 DFS)两种,各有所长。
4
社交网络:你在一张巨大的图里
- 好友推荐:「你的朋友 A 和 B 互相认识,给你推荐 B」——本质是在图里找「距离 2 的节点」(朋友的朋友)。
- 六度分隔:研究表明任意两个陌生人平均只隔 6 层好友关系。社交网络的「直径」如此之小,是图论最迷人的发现之一。
- 网页排名:Google 的 PageRank 把网页看成图,被越多「重要网页」链接的网页越重要——你在看的每一条搜索结果,背后都是一次图上的投票。
- 物流与网络:快递网点、互联网骨干、电网,全是带权图的规划问题。
社交软件给你推荐「可能认识的人」,等于在几十亿人的大图里做一次「两步搜索」——数学上平淡无奇,体验上却像读心术。
?
常见疑问
图和树是什么关系?
树是没有环的图:像公司组织架构、文件夹目录,每个节点只有一条「向上的路」。文件系统、HTML 标签、游戏技能树,本质都是树——图论的特例。
「旅行商问题」为什么有名?
「送货员要走遍所有城市且总路程最短」看似简单,但城市一多,完美解的验证次数爆炸增长(联系第 3 课的复杂度)。它是「P vs NP」悬案的标志性问题,也催生了大量实用近似算法。
图论需要会画图吗?
不需要画得好,需要「建模」的思维:遇到问题先问「点是什么?边是什么?边上数字代表什么?」——这三个问题问完,一半的图论题已经解开了。
→