ARTICLE · 1190592
揭秘导航软件的“最佳路径”——身边的算法
适用教学单元、课时:信息科技人教版五年级第26课《寻找最短的路径》/ 中小学生人工智能通识课
本文旨在为上述课程提供一个具象化、场景化的教学思路。它通过“快递员送快递”的生活化类比,将最短路径算法的核心思想拆解为清晰的三步循环,并延伸至导航软件的真实原理。教师可直接参考此叙事框架展开教学,引导学生从生活经验出发,理解“抽象建模”和“最短路径算法”这两个核心计算思维概念,完成从具象到抽象的知识建构。
你们是不是都用过导航?
输入起点,输入目的地,三秒钟,地图上自动画出一条带颜色的最优路线。
但从起点到目的地,有无数条路径,导航软件怎么知道哪条最快?
打开任意一个导航App,你看到的是街道、建筑、红绿灯。但在软件内部,它做的第一件事,是把这张错综复杂的真实地图,"拍扁"成一张干干净净的“数字蜘蛛网”:

每个路口会被标记为一个点(叫"节点")
每条真实能走的路标记为一条直直的线(叫"边")
每条线旁边标上一个数字为通过这条路的"代价"(可能是距离,可能是预估时间)
这一步,叫“图的抽象”——把真实世界的复杂结构,变成计算机能算的“图”。
而今天要讲的「最短路径算法」,就是导航软件在这张“数字蜘蛛网”上找距离起点和终点的最短路径的“神算子”。
📦 一、现实场景

快递员小王第一天到阳光小区上班,快递站在A栋,师傅交代:"今天先送 F 栋的快递,但顺手把从A栋到每栋的最短路线都摸清楚,以后天天都要送!"
小王带上F栋的快递和记录本出发了,下面是他在记录本上划的表格:
| 楼栋 | 到A栋的最短时间 | 最短路线 |
|---|---|---|
| A | —— | |
| B | ||
| C | ||
| D | ||
| E | ||
| F |
小王没学过算法,但他下意识做的事,恰好就是「最短路径算法」。
第一步:锁定最近楼栋
他站在A栋,他初来乍到,不熟悉小区的路线,他只能向当地的居民打听:“从这里能直接到哪栋楼?过去要几分钟?”
得知从A栋可以直接去到B栋(3分钟)、C栋(2分钟)、F栋(5分钟),距离出发点A栋最近的是C栋,他骑上电动车前往C栋踩点。然后循环往复下面两件事:
第二步:实地探查,更新记录本
到达这栋楼(比如C栋)后,把这栋楼从记录本上标记为“已踩点”,给这栋楼打个勾,说明从A栋到达该栋的最短路径已找到。
在当前楼栋,向当地居民打听,从该楼能直接去往哪些楼?所需时间是多少?然后,对每个邻居楼(比如D栋),算一笔“新账”:
从A到C的最短时间(2分钟) + 从C到D的时间(X分钟) = 这条新路的总时间
拿出记录本,对比这个“新总时间”和本子上原来记的D栋的“到A栋最短时间”:
如果本子上该邻居楼的记录是空的(第一次计算):直接记上这个新时间和新路线(A→C→D)。
如果新时间更短:划掉旧的,换上新的,路线也更新为这条更近的。
如果旧时间更短或一样:说明绕路了,不做改动。
第三步:决定是否继续踩点
如果终点楼栋F“已踩点”(即从A栋出发到达F栋的最短时间已被确定且不再更新),说明最短路线已找到,任务完成!
如果还没有,就回到第一步:锁定最近楼栋,继续从“未踩点”的楼栋里找距离A栋最近的楼栋,去踩点。
直到终点F栋已被踩点。就这三件事,来回循环。
📒 小王的记录本(最终结果)
| 楼栋 | 到A栋的最短时间 | 最短路线 |
|---|---|---|
| A | 0 | —— |
| B | 3 | A→B |
| C | 2 | A→C |
| D | 5 | A→D |
| E | 3 | A→C→E |
| F | 6 | A→C→E→F |
最后找到的从A栋到F栋的最优路线:A → C → E → F,总共 6 分钟。
🧰 二、对应的互动教学工具
为了将上面的“小王送快递”故事和算法过程可视化,我制作了一个单文件 HTML 互动教学工具。它无需安装任何依赖,也无需联网,在电脑上双击即可用浏览器打开,方便教师在课堂或学生在家中直接使用。
为什么做这个工具?
主要解决两个教学难点:
把"现实地图 → 数字蜘蛛网"这个概念视觉化:点击“一键生成蜘蛛网”按钮,画面上的卡通楼栋会动态变为彩色节点,道路则变为带数字的虚线。这个动画过程能让学生直观地理解,计算机是如何将复杂现实“拍扁”成可计算的“图”的。
传统讲解依赖静态表格和伪代码,学生难以跟上每一步的逻辑:本工具通过高亮、闪烁、路径描边、分步解说等动画效果,将最短路径算法“锁定最近点-探查邻居-更新记录”的核心算法步骤拆解并呈现出来。
工具界面也提供了“开始”、“下一轮”、“自动演示” 和 “重置” 按钮。学生可以主动控制节奏,通过点击“下一轮”一步步观察算法的推进,也可以观看“自动演示”来了解完整流程。右侧同步更新的“记录本”则清晰地反映了算法每一步对数据的修改。
三、真实世界的延伸
在真实的算法场景里,导航软件不向“人”问路。它向卫星、路网数据、实时交通系统要信息,实时拿到路口的坐标、红绿灯状态,以及每条路的当前通行时间。然后,它就化身成“电子小王”,在你点击“开始导航”的瞬间,在数字地图上飞速执行一遍“最短路径算法”,为你算出那条综合代价最低的路径。
📌 为什么导航有时"看起来绕远"?
因为真实导航软件中的"代价"根本不是距离——而是时间、距离、拥堵程度、红绿灯个数的综合加权值。算法选的是"综合代价最小",而不是"直线距离最短"。
📌 为什么堵车时导航会突然改道?
算法感知到某条路代价飙升,立即重新跑一遍最短路径,找新的最优解。
四、教学资源获取
如需获取上面的『 HTML 互动教学工具』,请在公众号发送消息:“最短路径”。
希望这篇文章和这个互动教学工具,能为你的课堂带来一点点的方便。
如果觉得这篇文章对你有帮助,欢迎点点“点赞”和“推荐”。















































































