跳到内容
返回探索
数学建模 / 英语

Dijkstra算法(寻找最短路径)

Bryn Humberstone · YouTube · 4:21

打开原视频
阅读与收藏

把讲解展开来看。

被收藏 0

已审核学习内容 · 视频分析 · 中文
阅读完整概览

本视频演示了戴克斯特拉算法在带权网络中求解从“家”到“大学”的最短路径时的前几步操作,涵盖起始顶点的初始化、邻居距离的迭代更新、最小未圈出顶点的选择,以及当同一顶点出现多个距离值时仅保留最小值的处理方法。 这段120秒的片段展示了一个戴克斯特拉(Dijkstra)最短路径算法的完整示例后期阶段,图是带权图,起点为“home”,终点为“university”。初始时已有若干顶点被确定;主讲人解释为何目标标签7不能立即被接受:因为最小的未加圈顶点仍需被处理。首先确定标号为4的顶点 E,由此在大学处产生一个候选值9,该值随后被划去。接着确定标号为6的顶点 B,由此在大学处产生另一个候选值8,同样被划去。直到此时,大学处的7才被加圈,作为最终的最短距离。片段最后通过反向追踪前驱箭头,重构出最短路径:home → A→DA \to D → university。 本视频片段演示了在加权图上求解最短路径问题的最后阶段,很可能使用了戴克斯特拉算法。它展示了如何从终点节点(“大学”)回溯至起点节点(“家”),从而识别最优路径中顶点的确切顺序。主讲人用黄色高亮标出路径上的边,并写出该序列:家 - A - D - 大学。最后,通过对这些边的权重求和,算出最短总距离为7。

在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。

章节

0:00戴克斯特拉算法简介0:10问题设定:从家到大学0:15步骤1:初始化0:27步骤2:更新邻居0:41步骤3:选择最小顶点0:54步骤4:进一步更新与划除1:19步骤5:继续执行算法2:00图的当前状态及从 A 出发的更新2:13为什么7尚未最终确定2:27处理节点 E 并拒绝候选值92:54处理节点 B 并拒绝候选值83:30确定最终距离73:43回溯以恢复路径4:00回溯最短路径4:14计算最短距离

学习解说文稿

依据视频画面与讲解整理,并非逐字语音转写。

视频将戴克斯特拉算法介绍为一种系统性方法,用于在网络中找出两个顶点之间的最短路径。

提出了一个具体问题:在一张带权图上,找出从‘家’顶点到‘大学’顶点的最短路径。

算法首先将起始顶点‘家’的距离初始化为0,并用圆圈将其标记为已访问。

接着,算法检查当前被圈出顶点(即‘家’)的未访问邻接顶点。

这些邻接顶点的距离通过将对应边的权重加到当前顶点的距离上而算出:顶点A获得距离2,顶点C获得距离3。

然后,算法在所有未被圈出的顶点中找出最小距离,该最小距离为顶点A处的2。

将顶点A圈出以标记为已访问,并从‘家’向A画一条箭头,以记录所走路径。

该过程在新圈出的顶点A上重复进行,更新其未访问邻接顶点的距离。

顶点B的距离计算为2+4=6。

顶点D的距离计算为2+2=4。

顶点C的另一条路径距离计算为2+2=4。

由于顶点 C 现在有两个距离值(3和4),算法应用一条规则,仅保留其中较小者。

较大的值4被划去,留下3作为 C 的有效距离。

算法扫描剩余未加圈的顶点(C=3C=3,D=4D=4,B=6B=6),并选出最小的距离,即顶点 C 处的3。

顶点 C 被加圈,并从‘家’向 C 画出一条箭头。

更新 C 的邻居时,通往 A 的路径被忽略,因为 A 已被访问过。

到 E 的距离被计算为3+1=43 + 1 = 4。

在未加圈的顶点 B=6B=6、D=4D=4 和 E=4E=4 中,算法遇到最小距离的平局情况。

讲解者任意选择顶点 D 继续执行。

顶点 D 被加圈,并从 A 向 D 画出一条箭头,延续路径重建过程。

视频片段从一个带权图开始,图中顶点标记为 home、A、B、C、D、E 和 university。若干距离已确定:home 为0,A 为2,C 为3,D 为4。讲解者从一个已选定的顶点继续出发,计算新的候选值:从 A 到 B 得到2+4=62+4=6,而 university 处当前可见的候选值为7。口述算式“四加三等于七”对应经过 D 的路径,因为 D 已有标签4,且边 D–university 的权重为3。

关键方法要点被明确指出:讲解者此时尚未在 university 处圈出7,因为仍有其他未圈出的顶点需要考虑。下一个被选中的顶点是未圈出标签中最小的那个,即 E 处的4。这体现了该算法的核心规则:始终优先确定最小的暂定距离,即使目标顶点已有候选值。

为说明该规则的合理性,视频聚焦于 E 和 university 所在区域,并给出一个假设性对比:若边 E–university 的权重为1或2,则经 E 的路径总长将小于7。这一反事实推理解释了为何当更小的未确定顶点仍存在时,目标顶点的标签不能被接受。

E 到 university 的实际边权重为5,因此从 E 出发更新得到4+5=94+5=9。数字9被写在 university 处,随后又被划掉,因为9>79>7。这是一个具体的标签比较实例:仅当新发现的路径优于当前最优距离时,才保留该更新。

在处理完 E 后,剩余未圈出标签中最小的是 B 处的6,因此接下来选择 B。讲解者画出从 A 指向 B 的前驱箭头,强调每个已确定标签都应记录是哪个更早的顶点生成了它。因此,home 到 B 的距离为6。

从 B 出发,唯一相关的新更新是到 university:6+2=86+2=8。候选值8被写在 university 处,随后又被划掉,因为8>78>7。此时所有更小的未圈出候选值均已处理完毕,因此 university 处原有的标签7成为当前剩余未圈出值中最小的一个。

讲解者在 university 处圈出7,并宣布计算结论:home 到 university 的最短距离为7。这是本例题的最终数值答案。

最后一步恢复的是实际路径,而不仅是距离。通过从 university 出发逆向追踪前驱箭头,路径被还原为 university ← D ← A ← home;将该链路反转后,即得最短路径:home → A→DA \to D → university。黄色高亮使这种逆向重构过程在视觉上清晰明了。

为在已计算各点距离后找出实际最短路径,明智的做法是从终点反向推导。从“大学”出发,沿高亮边回溯,可知它来自“D”,“D”来自“A”,而“A”起始于“家”。

根据具体题目要求,你还必须报告总代价。将该路径上各边的权重相加(2+2+32 + 2 + 3),即可得出最短距离为7。

知识卡片

01

戴克斯特拉算法定义

一种用于在带权网络中寻找两个顶点之间最短路径的系统性方法。其原理是:反复选取尚未访问、且当前已知距离最小的顶点,更新其邻居的距离,并将其标记为已访问。

02

初始化步骤

算法开始时,将起始顶点的距离赋值为0,并将其标记为已访问(例如,用圆圈标出)。其余所有顶点的初始距离通常视为无穷大,直至被更新。

d(start)=0d(start) = 0
03

更新邻居顶点的距离

对于当前已访问的顶点,通过将该顶点的距离与连接边的权重相加,计算其每个未访问邻居的临时距离。若该新距离小于该邻居此前记录的任何距离,则更新该邻居的距离。

d(neighbor)=min(d(neighbor),d(current)+w(current,neighbor))d(neighbor) = min(d(neighbor), d(current) + w(current, neighbor))
04

选择下一个顶点

更新完邻居顶点后,找出未访问顶点中记录距离最小的一个。将该顶点标记为已访问,并从其前驱顶点向它画一条箭头,以便后续重构最短路径。

05

处理多个距离值

若某个顶点通过不同路径得到多个距离计算结果,则其中最小的值才代表截至目前找到的真实最短距离。较大的值必须舍弃(划掉),以免影响后续步骤的正确性。

06

不要过早确定终点

本知识卡片提炼了该视频片段的核心操作要点:尽管大学节点已标有候选距离7,主讲人并未立即圈出它,因为另一个未圈出的顶点E的标签4更小。算法必须先确定最小的未圈出顶点,之后终点的标签才能被视作最终结果。

07

顶点标签与圆圈的含义

在本例演算中,每个顶点旁的数字表示从起点(家)到该顶点当前已知的最短距离。蓝色圆圈表示该顶点的距离已在本次算法运行中被确认为最终值。未加圆圈的数字仍为临时候选值,尚可被更新或参与比较。

08

前驱箭头记录路径

每当一个顶点被选中或其标签被更新时,主讲人会画出一条箭头,起点是提供当前最优标签的那个顶点。例如,C→EC\to E 表示E获得标签4的来源,A→BA\to B 表示B获得标签6的来源。这些箭头并非装饰性元素,而是后续用于重构最短路径的关键数据。

09

从E更新大学节点得到9,但被拒绝

E的已确定距离为4,E到大学的边权为5,因此新候选值为4+5=94+5=9。由于大学已有候选值7,故将9划去。这体现了比较规则:保留较小的标签,舍弃较大的标签。

4+5=94+5=9
10

从B更新大学节点得到8,但被拒绝

B以距离6被确定后,B到大学的边权为2,由此生成候选值6+2=86+2=8。该值仍劣于已有的7,因此8再次被划去。只有完成所有此类检查后,7才可安全地被确定为最终值。

6+2=86+2=8
11

本例中的最终最短距离

当E和B均已处理完毕,且不存在更小的未圈出候选值时,大学节点处的标签7被圈出。视频直接给出结论:从家到大学的最短距离为7。

12

通过回溯重构最短路径

最终的距离值并非完整答案。要找出具体路线,需从大学出发,沿前驱节点箭头反向追踪:大学来自 D,D 来自 A,A 来自家。将该链路反转,即得最短路径:家 → A→DA \to D → 大学。

13

通过回溯进行路径重建

当戴克斯特拉(Dijkstra)等算法计算出到每个节点的最短距离后,可通过从目标节点出发,反复移向给出最小距离的前驱节点,直至抵达源节点,从而找出通往目标的具体路径。

14

计算路径总权重

加权图中一条路径的总距离或总代价,等于该路径所包含的所有边的权重之和。本例中,路径‘家 → A→DA \to D → 大学’的总权重为2+2+3=72 + 2 + 3 = 7。

详细学习笔记

按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。

符号定义 · 27

home

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    加权图中最左侧的顶点标记为“家”。

符号

home

含义

最短路径问题的起始顶点。

适用范围

加权图中的一个顶点。

university

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    加权图中最右侧的顶点标记为“大学”。

符号

university

含义

最短路径问题的目标顶点。

适用范围

加权图中的一个顶点。

A

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图中的一个顶点标记为“A”。

符号

A

含义

网络中的一个中间顶点。

适用范围

加权图中的一个顶点。

B

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图中的一个顶点标记为“B”。

符号

B

含义

网络中的一个中间顶点。

适用范围

加权图中的一个顶点。

C

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图中的一个顶点标记为“C”。

符号

C

含义

网络中的一个中间顶点。

适用范围

加权图中的一个顶点。

D

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图中的一个顶点标记为“D”。

符号

D

含义

网络中的一个中间顶点。

适用范围

加权图中的一个顶点。

E

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图中的一个顶点标记为“E”。

符号

E

含义

网络中的一个中间顶点。

适用范围

加权图中的一个顶点。

home

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    最左侧的顶点标记为“家”,并标有带圆圈的值0。

符号

home

含义

最短路径计算的源顶点

适用范围

所展示的带权图中的一个顶点

university

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    最右侧的顶点标记为“大学”,随后依次获得候选标签7、9和8,最后得到带圆圈的最终标签7。

符号

university

含义

目标顶点,正在求其到“家”的最短距离

适用范围

所展示的带权图中的一个顶点

A

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    顶点A在视频片段开始时已用带圆圈的标签2标出。

  2. 声音
    观察依据

    说话者在计算通往B和D的路径时,将A用作当前顶点。

符号

A

含义

从“家”出发已确定最短距离为2的中间顶点

适用范围

所展示的带权图中的一个顶点

B

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    顶点B首先显示候选标签6,随后被标上带圆圈的6。

  2. 声音
    观察依据

    我们可以从这里向上走到B,四加二是六。

符号

B

含义

一个中间顶点,其已确定的最短距离变为6

适用范围

所显示的带权图中的一个顶点

C

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    顶点C在片段开始时已用标签3标出并加圈。

符号

C

含义

一个中间顶点,其到起点(家)的已确定最短距离为3

适用范围

所显示的带权图中的一个顶点

知识点 · 12

戴克斯特拉算法

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    本视频将介绍戴克斯特拉算法,这是一种系统化的方法,用于确定网络中从一个顶点到另一个顶点的最短路径。

定义
解释

一种用于在加权网络中寻找两个顶点之间最短路径的系统化方法。

适用条件
  1. 该网络的边权重必须为非负数。

初始化步骤

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    首先,我们在‘家’顶点旁标注数字零,因为该顶点到‘家’的距离为零,并将该顶点用圆圈标出。

  2. 动画
    观察依据

    一个蓝色的‘0’写在‘家’顶点旁,并用蓝色圆圈将其围住。

方法
解释

将距离‘0’赋给起始顶点,并将其标记为已访问(即用圆圈标出)。

适用条件
  1. 适用于路径的起始顶点。

先修条目
  1. 戴克斯特拉算法

更新邻接顶点

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    接下来,在每一步中,我们观察已被圆圈标出的顶点,并找出其尚未被圆圈标出的邻接顶点。因此我们可以到达顶点 A,距离为二;也可以到达顶点 C,距离为三。

  2. 动画
    观察依据

    蓝色数字‘2’和‘3’分别写在顶点 A 和顶点 C 旁。

方法
解释

对于当前已被圆圈标出的顶点,将其到各未访问邻接顶点的总距离计算出来——即该顶点的距离加上对应边的权重,并将这些新距离标注在相应邻接顶点旁。

适用条件
  1. 仅适用于尚未被圆圈标出的邻接顶点。

先修条目
  1. 初始化步骤

选择下一个顶点

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在我们寻找图中所有已写出但尚未被圆圈标出的最小数字。本例中该数为二,因此我们将它用圆圈标出,并画出一个箭头,指示该数值的来源——它来自‘家’。

  2. 动画
    观察依据

    顶点 A 处的数字2被画圈,同时从“起点”向 A 画一条蓝色箭头。

方法
解释

在所有未画圈的顶点中,找出距离最小的那个;将该顶点画圈,并从它的前驱顶点向它画一条箭头,以记录最短路径。

适用条件
  1. 当存在已赋值但尚未画圈的顶点时,此步骤适用。

先修条目
  1. 更新邻接顶点

处理多个距离

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    每当某个顶点上有两个或更多数字时,我们就划掉所有不等于最小值的数字。因此,在这个例子中,C 处有三和四,所以我们只需划掉那个四。

  2. 动画
    观察依据

    顶点 C 处的数字4被一条蓝色直线划掉。

方法
解释

若某顶点收到多个距离计算结果,则仅保留最小值,其余较大的值全部划掉。

适用条件
  1. 当某顶点可通过来自不同已画圈顶点的多条路径到达时,便会出现这种情况。

先修条目
  1. 更新邻接顶点

在结束前,先选出最小的未加圆圈顶点

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在,我们不能仅因已得到七就断定它是最短距离,因为我们仍需考虑其他顶点。因此,最小的未加圆圈顶点是下方这个四。

  2. 图示
    观察依据

    E 处的标号4在 university 处的标号7最终确定之前即被加圈。

方法
解释

该片段说明:目标顶点处的候选标号,须待其成为剩余未加圆圈标号中最小者时,才被视为最终标号。下一个被选中的顶点即为当前最小的未加圆圈顶点,此处是标号为4的 E。

公式
适用条件
  1. 该图正由所展示的最短路径方法进行处理。

  2. 标号已被加圈的顶点被视为已选定。

  3. 未加圈的标签仍是候选值。

先修条目
  1. 本例题中数值顶点标签的含义

本例题中数值顶点标签的含义

依据清楚
依据视频推导
来源依据
  1. 图示
    观察依据

    数值标签在顶点处累积,并在整个图中进行比较。

  2. 声音
    观察依据

    主讲人将标签解释为距离,例如“从家到B的距离是六”。

待核验内容
  1. 视频从未用符号给出正式定义;本条目记录的是例题演示中可见的操作性含义。

定义
解释

在本次演示中,写在顶点旁的数字表示当前已知的从家到该顶点的最佳距离;加圈的数字表示该距离已在算法运行过程中被确认为该顶点的最终结果。

公式
适用条件
  1. 适用于本片段中展示的具体白板式演示。

前驱箭头记录了生成该标签的路径。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “现在把这个圈起来,并标明它来自何处”

  2. 图示
    观察依据

    箭头从A指向B、从C指向E、从D指向大学。

  3. 声音
    观察依据

    “从大学往回推,我们来自D……D来自A……A来自家。”

方法
解释

每当一个顶点被选中或更新时,主讲人都会画出一条箭头,起点为提供当前最佳标签的那个顶点;随后通过反向追踪这些箭头来重构最短路径。

公式
适用条件
  1. 当分配新的最优标签,或需要记录某个已选顶点的前驱顶点时使用。

先修条目
  1. 本例题中数值顶点标签的含义

从家到大学的最短距离

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “现在最后我们得到这个七,它是未画圈顶点中最小的一个。”

  2. 声音
    观察依据

    “这告诉我们,从家到大学的最短距离是七。”

  3. 图示
    观察依据

    大学处的标签7被画圈,作为最后一个被选中的值。

方法
解释

在所有更小的未画圈候选顶点都被处理完毕后,大学处的标签7成为最小的未画圈顶点并被画圈。讲解者得出结论:从家到大学的最短距离是7。

公式
适用条件
  1. 所有具有更小临时标签的相关顶点都已被处理完毕。

先修条目
  1. 在结束前,先选出最小的未加圆圈顶点
  2. 本例题中数值顶点标签的含义

通过沿前驱箭头反向追踪来重构最短路径

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “我们还可以推断出应走的路径。从大学开始逆向回溯:我们来自D……沿着指向D的箭头反向追溯,来自A……再从A继续反向追溯,来自家。”

  2. 动画
    观察依据

    黄色高亮按逆序标出 university ← D ← A ← home。

待核验内容
  1. “当你写出来时,它是”之后的口述句子被截断,未完成。

方法
解释

一旦目标顶点的标签被最终确定,实际路线便可通过从大学出发、反复沿所画箭头指示的前驱顶点移动而恢复。本例中的逆向链为 university ← D ← A ← home,由此得到正向路径 home → A→DA \to D → university。

公式
适用条件
  1. 前驱箭头必须在标签更新过程中被记录下来。

先修条目
  1. 前驱箭头记录了生成该标签的路径。
  2. 从家到大学的最短距离

最短路径算法中的路径回溯

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    说话人解释从右向左回溯路径:“大学来自D,D来自A,A来自家。”

  2. 图示
    观察依据

    黄色高亮的边表示从家到大学的路径。说话人在图下方写出序列“家 - A - D - 大学”。

方法
解释

在计算出到所有节点的最短距离后(通常使用戴克斯特拉等算法),可通过从目标节点回溯至源节点来找出实际的最短路径。每一步中,找出使距离最小化的前驱节点。

公式
适用条件
  1. 所有节点的最短距离与前驱节点必须已预先计算完毕。

报告最短距离

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    说话人指出:“你还应标出该距离,且最短距离是七。”

  2. 图示
    观察依据

    数字7写在最终路径序列旁。

方法
解释

在许多最短路径问题中,仅确定节点序列是不够的;还必须计算并报告该路径的总代价或总距离。这等于最短路径上所有边的权重之和。

公式
适用条件
  1. 最短路径已经确定。

先修条目
  1. 最短路径算法中的路径回溯
定理与条件 · 4

目标顶点的标签并非因其最先出现就成为最终结果。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在,我们不能仅凭已得到七这个数值就断定它是最短距离,因为我们仍需考虑其他顶点。

命题
命题

在此演示的戴克斯特拉算法运行过程中,当大学处出现候选距离7时,若仍存在更小的未加圈候选值,则不能立即终止算法。

前提
  1. 该图中包含多个未加圈的顶点。

  2. 至少存在一个未加圈顶点,其标签值小于目标顶点当前的标签值。

量词

对于当前展示的图状态,若存在某个未加圈顶点的标签小于目标顶点,则该目标顶点的标签尚未最终确定。

为何必须先检查E,才能接受7

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    如果从E到大学的边权仅为一或二,那么这实际上会为我们提供一条更短的路径。

待核验内容
  1. 此处仅为假设性比较,并非对所展示图的实际修改。

命题
命题

若从E到大学的边权为1或2,则经由E的路径将产生比当前可见标签7更短的通往大学的路线。

前提
  1. E的已确定距离为4。

  2. 当前考虑的边连接E与大学。

量词

对于边权w(E, 大学) ∈ {1, 2},所得候选距离4+w4 + w小于7。

示例中的最终最短距离

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    这告诉我们,从家到大学的最短距离是七。

  2. 图示
    观察依据

    大学处最终标出的数值是7。

命题
命题

对于视频片段中所示的带权图,从家到大学的最短距离是7。

前提
  1. 所显示的边权是固定的。

  2. 该算法在此图上按演示方式应用。

量词

对于所示的具体图实例,从家到大学的最短路径长度等于7。

示例中的最终最短路径

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    从大学往回追溯:我们来自D……D来自A……A来自家。

  2. 动画
    观察依据

    黄色高亮标记了边家-A、A-D和D-大学。

命题
命题

例题所找出的最短路径是:家 → A→DA \to D → 大学。

前提
  1. 算法运行过程中记录的前驱箭头对于当前展示的运行过程是正确的。

量词

针对图中所示的具体实例,重构出的最小化路径为:家 → A→DA \to D → 大学。

推导与证明 · 8

第一次迭代:邻居更新

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    因此我们可以前往 A,其距离为二;也可以前往 C,其距离为三。

  2. 动画
    观察依据

    数字2和3分别出现在顶点 A 和 C 旁边。

视觉说明
步骤
  1. 公式
    d(A)=d(home)+w(home,A)=0+2=2d(A) = d(home) + w(home, A) = 0 + 2 = 2
    解释

    计算从家到A的距离。

    步骤依据

    从家到A的边权为2。

    视频直接表达
  2. 公式
    d(C)=d(home)+w(home,C)=0+3=3d(C) = d(home) + w(home, C) = 0 + 3 = 3
    解释

    计算从家到C的距离。

    步骤依据

    从家到C的边权为3。

    视频直接表达
结论

到A和C的距离分别更新为2和3。

第二次迭代:邻居更新

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    因此,B是邻居,二加四等于六;D是邻居,二加二等于四;C是邻居,二加二等于四。

  2. 动画
    观察依据

    数字6、4和4分别标在B、D和C旁边。

视觉说明
步骤
  1. 公式
    d(B)=d(A)+w(A,B)=2+4=6d(B) = d(A) + w(A, B) = 2 + 4 = 6
    解释

    计算从A到B的距离。

    步骤依据

    从A到B的边权为4。

    视频直接表达
  2. 公式
    d(D)=d(A)+w(A,D)=2+2=4d(D) = d(A) + w(A, D) = 2 + 2 = 4
    解释

    计算从A到D的距离。

    步骤依据

    从A到D的边权为2。

    视频直接表达
  3. 公式
    d(C)=d(A)+w(A,C)=2+2=4d(C) = d(A) + w(A, C) = 2 + 2 = 4
    解释

    计算从A到C的另一条路径距离。

    步骤依据

    A到C的边权为2。

    视频直接表达
结论

已计算出到B、D以及到C的另一条路径的距离。

第三次迭代:邻居更新

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    从刚刚圈出的这个顶点出发,我们可以到达A,但A的最短距离我们已经算出是二;不过我们确实可以到达E,三加一等于四。

  2. 动画
    观察依据

    数字4标在E旁边。

视觉说明
步骤
  1. 公式
    d(E)=d(C)+w(C,E)=3+1=4d(E) = d(C) + w(C, E) = 3 + 1 = 4
    解释

    计算从C到E的距离。

    步骤依据

    C到E的边权为1。

    视频直接表达
结论

E的距离被更新为4。

从已选定的顶点A出发,更新其邻接顶点。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “好的,从那个点出发,我们可以向上走到B,四加二是六;可以走到大学,四加三是七;其他地方则无法到达。”

  2. 图示
    观察依据

    在从A进行处理后,B处出现候选标签6,大学处出现候选标签7。

待核验内容
  1. 开头语句不完整,但其中的算术运算及所得标签清晰明确。

视觉说明
步骤
  1. 公式
    d(A)=2d(A)=2
    解释

    在视频片段开始时,顶点A已被圈出,且标有标签2。

    步骤依据

    观察到的图示状态。

    视频直接表达
  2. 公式
    d(B)=d(A)+w(A,B)=2+4=6d(B)=d(A)+w(A,B)=2+4=6
    解释

    从A出发,讲解者为B计算出一个候选标签6。

    步骤依据

    音频中的算术运算结合A-B边上可见的边权4。

    视频直接表达
  3. 公式
    d(university)=d(A)+w(A,university)=2+3=5d(\text{university})=d(A)+w(A,\text{university})=2+3=5
    解释

    利用A到大学边上可见的边权3,算得结果为5,但视频片段中实际显示并口述的是经由D路径所得的7。

    步骤依据

    图中显示边 A-大学 的权重为3,而语音说“四加三等于七”,大学处的书面候选值为7。

    视频直接表达
  4. 公式
    d(university)=d(D)+w(D,university)=4+3=7d(\text{university})=d(D)+w(D,\text{university})=4+3=7
    解释

    大学处显示的候选值7对应经过 D 的路径,其中 D 的已确定标签为4,且 D 到大学的边权重为3。

    步骤依据

    D-大学之间可见的标签和边权重。

    依据视频推导
结论

从 A 出发的处理在 B 处产生一个候选值6,而大学处可见的候选值7对应的是经由 D 的路径,而非直接从 A 出发的路径。

为何在确认大学 = 7之前先处理 E

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “未加圈顶点中最小的是下面这个四”

  2. 声音
    观察依据

    “观察 E,那里标着四,而它到大学的距离是九”

  3. 图示
    观察依据

    E 被加圈并标上4,随后大学处写下9并划去与7的关联。

视觉说明
步骤
  1. 公式
    min⁡{uncircled labels}=4 at E\min\{\text{uncircled labels}\}=4 \text{ at } E
    解释

    在所有未加圈的顶点中,E 的标签最小。

    步骤依据

    语音明确指出“下面这个四”即为最小的未加圈顶点。

    视频直接表达
  2. 公式
    d(E)=3+w(C,E)=3+1=4d(E)=3+w(C,E)=3+1=4
    解释

    E 处的标签4来自 C,且 C 到 E 的边权重为1。

    步骤依据

    C 处可见的加圈标签为3,C-E 边上的权重为1,并有箭头 C→EC\to E。

    依据视频推导
  3. 公式
    d(university)=d(E)+w(E,university)=4+5=9d(\text{university})=d(E)+w(E,\text{university})=4+5=9
    解释

    从E出发,主讲人计算出一个大学的候选值9。

    步骤依据

    音频说“那是九到大学”,图中在大学处写有9。

    视频直接表达
  4. 公式
    9>79>7
    解释

    新的候选值9比现有候选值7更差,因此将9划掉。

    步骤依据

    音频:“我们要划掉九,因为它不是最小的。”

    视频直接表达
结论

E必须在目标节点之前被确定,因为它的出边可能改进目标节点的标签;在此图中,它产生9,该值被舍弃,转而采用7。

确定B,比较8与7,然后最终确定大学的值。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “看起来在B处,我们这里有几个六。”

  2. 声音
    观察依据

    “从B出发可以到达大学,六加二是八。”

  3. 声音
    观察依据

    “我们这里有七和八,所以把八划掉。”

  4. 图示
    观察依据

    B被圈出并标有6,大学处写有8但被划掉,随后7被圈出。

待核验内容
  1. “这里有几个六”这一短语可听清,但复数形式的确切原因在该片段中未充分说明。

视觉说明
步骤
  1. 公式
    d(B)=6d(B)=6
    解释

    处理完E后,剩余未圈出标签中最小的是B处的6,因此选择B。

    步骤依据

    音频指出B是下一个未加圈的最小顶点,图中在B处给6加圈。

    视频直接表达
  2. 公式
    d(B)=d(A)+w(A,B)=2+4=6d(B)=d(A)+w(A,B)=2+4=6
    解释

    B处选定的标签6与之前从A出发的更新结果一致。

    步骤依据

    可见的标签及边A-B上的权重4。

    依据视频推导
  3. 公式
    d(university)=d(B)+w(B,university)=6+2=8d(\text{university})=d(B)+w(B,\text{university})=6+2=8
    解释

    从B出发,主讲人计算出一个前往大学的候选值8。

    步骤依据

    音频说“六加二是八”,并在大学处写下8。

    视频直接表达
  4. 公式
    8>78>7
    解释

    该候选值8比已有的候选值7更差,因此将8划掉。

    步骤依据

    音频:“把八划掉,因为它比七大。”

    视频直接表达
  5. 公式
    d(university)=7d(\text{university})=7
    解释

    由于已无更小的未加圈候选值,大学处的标签7被加圈,作为最终结果。

    步骤依据

    音频:“现在,我们终于得到这个七,它是当前未加圈顶点中最小的。”图中对7加圈。

    视频直接表达
结论

对B的处理无法改进目标,因为它给出的是8,因此此前已知的7成为最终的最短距离。

最短路径的逆向重构

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “从大学反向追溯,我们来自D……沿D指向的箭头反向追溯,来自A……再沿A指向的箭头反向追溯,来自家。”

  2. 动画
    观察依据

    黄色高亮依次出现在D-大学、A-D和家-A上。

待核验内容
  1. 最后一句口语内容在“当你写出来时,它是”之后被截断了。

视觉说明
步骤
  1. 公式
    university←D\text{university} \leftarrow D
    解释

    从终点出发,沿着其前驱箭头反向回到 D。

    步骤依据

    音频提示与边 D-大学 的黄色高亮显示。

    视频直接表达
  2. 公式
    D←AD \leftarrow A
    解释

    沿着 D 的前驱箭头反向回到 A。

    步骤依据

    音频提示与边 A-D 的黄色高亮显示。

    视频直接表达
  3. 公式
    A←homeA \leftarrow \text{home}
    解释

    沿着 A 的前驱箭头反向回到起点。

    步骤依据

    音频提示与边 家-A 的黄色高亮显示。

    视频直接表达
  4. 公式
    home→A→D→university\text{home} \rightarrow A \rightarrow D \rightarrow \text{university}
    解释

    将逆向链路反转,以正向顺序陈述该路径。

    步骤依据

    由观察到的前驱序列推导得出。

    依据视频推导
结论

前驱指针标识出最短路径为:家 → A→DA \to D → 大学。

推导最短路径及其总距离

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者叙述了反向追踪路径并累加距离的过程。

  2. 图示
    观察依据

    视觉上高亮显示该路径,并写出序列“家 → A→DA \to D → 大学(7)”。

视觉说明
步骤
  1. 公式
    解释

    从终点节点“大学”开始。

    步骤依据

    目标是找到通往“大学”的路径。

    视频直接表达
  2. 公式
    解释

    沿着高亮的黄色边反向追踪,找到前驱节点“D”。

    步骤依据

    通过观察图可知,边 D → 大学 属于最短路径树的一部分。

    视频直接表达
  3. 公式
    解释

    继续从“D”反向追踪至其前驱节点“A”。

    步骤依据

    观察图可知,边 A→DA \to D 属于最短路径树的一部分。

    视频直接表达
  4. 公式
    解释

    从“A”反向追踪至起始节点“家”。

    步骤依据

    目视检查可知,边 home → A 属于最短路径树。

    视频直接表达
  5. 公式
    解释

    写出完整的路径序列:home → A→DA \to D → university。

    步骤依据

    将追踪出的各步合并,即可得到完整的最短路径。

    视频直接表达
  6. 公式
    2+2+3=72 + 2 + 3 = 7
    解释

    通过累加路径上各条边的权重来计算总距离(home→A 为2,A→DA\to D 为2,D→university 为3)。

    步骤依据

    带权图中路径长度的定义。

    依据视频推导
结论

最短路径为 home → A→DA \to D → university,其最小距离为7。

例题详解 · 3

从家到大学的最短路径

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一个带权图,其顶点包括家、大学、A、B、C、D、E。

  2. 声音
    观察依据

    本例中,我们要找从家到大学的最短路径。

题目

求从‘家’顶点到‘大学’顶点在给定带权网络中的最短路径。

已知条件
  1. 带权无向图,顶点包括:家、大学、A、B、C、D、E。

  2. 边的权重:家-A=2,家-C=3,A−B=4A-B=4,A−C=2A-C=2,A−D=2A-D=2,B−D=2B-D=2,B-大学=2,C−E=1C-E=1,D-大学=3,E-大学=5。

目标

确定最短路径所经过的顶点序列及其总权重。

步骤
  1. 公式
    Initialize:circle′home′,setd(home)=0.Initialize: circle 'home', set d(home)=0.
    解释

    从源顶点开始执行该算法。

    步骤依据

    戴克斯特拉(Dijkstra)算法的基础情形。

    视频直接表达
  2. 公式
    Updateneighborsof′home′:d(A)=2,d(C)=3.Update neighbors of 'home': d(A)=2, d(C)=3.
    解释

    计算从源顶点出发的初始距离。

    步骤依据

    将各边权重加到 d(家) 上。

    视频直接表达
  3. 公式
    Selectminuncircled:circle′A′(d=2),drawarrowfrom′home′.Select min uncircled: circle 'A' (d=2), draw arrow from 'home'.
    解释

    选择距离最近的未访问顶点。

    步骤依据

    对应的式子为:2<32 < 3。

    视频直接表达
  4. 公式
    Updateneighborsof′A′:d(B)=6,d(D)=4,d(C)=min(3,4)=3.Update neighbors of 'A': d(B)=6, d(D)=4, d(C)=min(3, 4)=3.
    解释

    通过‘A’重新计算各顶点的距离。

    步骤依据

    2+4=62+4=6,2+2=42+2=4,2+2=42+2=4。对顶点 C 保留最小值。

    视频直接表达
  5. 公式
    Selectminuncircled:circle′C′(d=3),drawarrowfrom′home′.Select min uncircled: circle 'C' (d=3), draw arrow from 'home'.
    解释

    选择下一个距离最近的未访问顶点。

    步骤依据

    对应的式子为:3<43 < 4, 6。

    视频直接表达
  6. 公式
    Updateneighborsof′C′:d(E)=4.Update neighbors of 'C': d(E)=4.
    解释

    通过‘C’重新计算各距离。

    步骤依据

    对应的式子为:3+1=43+1=4。

    视频直接表达
  7. 公式
    Selectminuncircled:circle′D′(d=4),drawarrowfrom′A′.Select min uncircled: circle 'D' (d=4), draw arrow from 'A'.
    解释

    选择下一个距离最近的未访问顶点;D与E距离相同,任选其一打破平局。

    步骤依据

    对应的式子为:4 <= 4, 6。

    视频直接表达
结果

视频片段结束时算法仍在运行;截至目前找到的最短路径通向D,距离为4。

检验

对加圈顶点及箭头的视觉追踪,验证了路径的构建过程。

一个已解出的从家到大学的最短路径示例。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    逐步分析一个带权图,其顶点包括家、A、B、C、D、E、大学。

  2. 声音
    观察依据

    讲解者叙述了标签更新、划去操作、选择未加圈的最小顶点,以及最终路径的重构过程。

待核验内容
  1. 开头几句话不完整,最后一句在“当你写出来时,它是”之后被截断。

题目

利用所演示的戴克斯特拉算法,在图中所示的带权图上,求出从家到大学的最短距离及对应路线。

已知条件
  1. 初始可见的已确定标签:家 = 0,A=2A = 2,C=3C = 3,D=4D = 4。

  2. 可见的边权包括:家-A = 2,家-C = 3,C−A=2C-A = 2,C−E=1C-E = 1,A−B=4A-B = 4,A−D=2A-D = 2,A-大学 = 3,B−D=2B-D = 2,B-大学 = 2,D-大学 = 3,E-大学 = 5。

  3. E 的初始未加圈标签为 4。

  4. 大学在本片段后续更新前的候选标签为 7。

目标

求出从家到大学的最终最短距离;并求出对应的最短路径。

步骤
  1. 公式
    d(B)=2+4=6d(B)=2+4=6
    解释

    从 A 出发,为 B 计算一个候选标签 6。

    步骤依据

    音频:“四加二是六”,同时显示相关标签与边权。

    视频直接表达
  2. 公式
    d(university)=7d(\text{university})=7
    解释

    通过 D 的路径已在大学处预先置入一个候选标签 7。

    步骤依据

    可见标签7,音频为“四加三等于七”;该算术运算对应的是D→大学,而非A→大学。

    视频直接表达
  3. 公式
    select E because 4<7\text{select }E\text{ because }4<7
    解释

    尚未到达大学节点,请选择最小的未标记顶点E,其标签为4。

    步骤依据

    音频明确指出最小的未标记顶点是“下方这个四”。

    视频直接表达
  4. 公式
    d(university)=4+5=9d(\text{university})=4+5=9
    解释

    从E出发,计算大学节点的一个候选值9。

    步骤依据

    音频:“到大学的距离是九”,图中E与大学之间的边权重为5。

    视频直接表达
  5. 公式
    keep 7, discard 9\text{keep }7\text{, discard }9
    解释

    将9与现有的7比较,并划去9。

    步骤依据

    音频:“我们将划去九,因为它不是最小的。”

    视频直接表达
  6. 公式
    select B with 6\text{select }B\text{ with }6
    解释

    接下来选择最小的未标记顶点B,其标签为6。

    步骤依据

    音频指出B是下一个最小的未标记顶点,图中将6圈出。

    视频直接表达
  7. 公式
    d(university)=6+2=8d(\text{university})=6+2=8
    解释

    从B出发,计算大学节点的一个候选值8。

    步骤依据

    音频:“六加二等于八”,图中B与大学之间的边权重为2。

    视频直接表达
  8. 公式
    keep 7, discard 8\text{keep }7\text{, discard }8
    解释

    将8与7比较,并划去8。

    步骤依据

    音频:“划掉八,因为八比七大。”

    视频直接表达
  9. 公式
    d(university)=7 finald(\text{university})=7\text{ final}
    解释

    在大学处圈出7,作为最终的最短距离。

    步骤依据

    音频:“这告诉我们,从家到大学的最短距离是七。”

    视频直接表达
  10. 公式
    path=home→A→D→university\text{path}=\text{home}\rightarrow A\rightarrow D\rightarrow \text{university}
    解释

    沿着前驱箭头从大学反向回溯,以还原路径。

    步骤依据

    音频及黄色反向高亮:从大学→D→AD\to A→家。

    视频直接表达
结果

最短距离 = 7;最短路径 = 家 → A→DA \to D → 大学。

检验

答案在片段中通过以下方式得到验证:将大学处所有后续候选标签(来自E的9和来自B的8)与7比较,并沿记录的前驱箭头从大学反向追踪至家。

在带权图中寻找最短路径

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一个带权图,其节点包括 home、A、B、C、D、E、university。

  2. 声音
    观察依据

    讲解者说明如何求从 home 到 university 的最短路径。

题目

给定一个表示地点及通行时间的带权图,求从 'home' 到 'university' 的最短路径及其总距离。

已知条件
  1. 一个图,其顶点为 home、A、B、C、D、E、university。

  2. 边的权重表示距离或时间。

  3. 预先计算出到各节点的最短距离(以蓝色圆圈标示)。

目标

找出构成最短路径的节点序列,并计算其总权重。

步骤
  1. 公式
    解释

    观察图中高亮显示的黄色路径。

    步骤依据

    该视觉辅助提示表明了最优路线。

    视频直接表达
  2. 公式
    解释

    从‘大学’反向追踪至‘家’:大学 <- D<−AD <- A <- 家。

    步骤依据

    沿着最短路径树中的有向边进行追踪。

    视频直接表达
  3. 公式
    解释

    写出正向路径:家 - A - D - 大学。

    步骤依据

    将反向追踪结果反转,得到符合逻辑的顺序。

    视频直接表达
  4. 公式
    2+2+3=72 + 2 + 3 = 7
    解释

    累加各条边的权重:(家, A)=2,(A, D)=2,(D, 大学)=3。

    步骤依据

    计算整条路径的总代价。

    依据视频推导
结果

路径:家 - A - D - 大学;最小距离:7。

检验

各边权重之和与说话者所写的最终距离值一致。

图示与动画 · 11

网络图展示

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    含7个顶点和10条边的静态带权图。

图中对象
  1. 顶点:家、大学、A、B、C、D、E

  2. 带数值权重的边

变化过程
  1. 蓝色标注(数字、圆圈、箭头、划掉标记)随时间依次添加。

不变量
  1. 底层图结构及边权重保持不变。

数学含义

视觉变化表示在固定网络上逐步执行戴克斯特拉算法的过程。

片段开始时的初始图状态

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    该图显示:家处标有圈出的0,A处标有圈出的2,C处标有圈出的3,D处标有圈出的4;E处标有未圈出的4;大学处标有未圈出的7;B处标有未圈出的6。

图中对象
  1. 带权图

  2. 顶点:家、A、B、C、D、E、大学

  3. 圈出的标签:0、2、3、4

  4. 未加圆圈的标签6、4、7

  5. 蓝色前驱箭头

变化过程
  1. 候选标签6在B处、7在大学处,可见于与A和D相关的更新中。

不变量
  1. 边的权重保持不变。

  2. 已加圆圈的标签0、2、3和4不发生变化。

数学含义

该片段从中途开始播放,此时已有若干顶点被确定,且候选标签已传播至B和大学。

选择E作为下一个顶点

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    E处未加圆圈的4被用蓝色加圆圈。

  2. 动画
    观察依据

    从C到E画出一条蓝色箭头。

图中对象
  1. 顶点E

  2. E处的标签4

  3. 顶点C

  4. 边 C-E

变化过程
  1. E 从无圈状态变为有圈状态。

  2. 添加一条前驱箭头 C→EC\to E。

不变量
  1. E 处的标签值4保持不变。

  2. 其他已确定的标签保持不变。

数学含义

因为 E 处的4是最小的无圈标签,所以 E 在目标标签7被接受之前即被确定。

视觉上强调从 E 到大学的可能改进

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一个红色矩形框包围了 E、边 E-大学 和 大学。

图中对象
  1. 顶点 E

  2. 边 E-大学

  3. 顶点 大学

  4. 红色矩形

变化过程
  1. 涉及E和university的区域以红色高亮显示。

不变量
  1. 红色框本身不会改变任何数值标签。

  2. 边权重保持为5。

数学含义

该高亮支持口头反事实解释:从E到university的一条更小的边本可击败当前目标标签7。

从E生成候选标签9,但被拒绝。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一个 9 在大学里写在现有的 7 下方。

  2. 图示
    观察依据

    该9随后被划掉。

图中对象
  1. 顶点university

  2. 标签7和9

  3. 边E-university

变化过程
  1. 一个新的候选标签9出现在university处。

  2. 9被划掉,而7保留不变。

不变量
  1. 原有标签7保持可见。

  2. 边权E-university仍为5。

数学含义

由E更新得到4+5=9,比当前最优值7更差,因此被舍弃。

选择B作为下一个顶点

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    顶点B处的标签6被加圈。

  2. 动画
    观察依据

    画出一条从A指向B的蓝色箭头。

图中对象
  1. 顶点B

  2. 顶点B处的标签6

  3. 顶点A

  4. 边A-B

变化过程
  1. B由未加圈变为加圈。

  2. 添加一条前驱箭头A→BA\to B。

不变量
  1. 6在B处的值保持不变。

  2. 先前已确定的标签保持固定。

数学含义

E处理完毕后,B拥有剩余未加圈标签中最小的一个,因此接下来被确定。

从B生成候选标签8,但被拒绝。

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    在大学处写下8,紧邻已有的7。

  2. 图示
    观察依据

    8被划掉。

图中对象
  1. 顶点大学

  2. 标签7和8

  3. 边B-大学

变化过程
  1. 大学处出现一个新的候选标签8。

  2. 8被划掉,而7保留。

不变量
  1. 标签7仍为最佳候选。

  2. B大学处的边权重保持为2。

数学含义

来自B的更新得到6+2=8,该值大于7,因此目标标签未被改进。

目标标签的最终确定

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    大学处的标签7以蓝色圆圈标出。

图中对象
  1. 顶点:大学

  2. 标签7

变化过程
  1. 大学处未加圆圈的7变为加圆圈。

不变量
  1. 没有新的候选者取代7。

  2. 所有更小的未加圆圈顶点都已被处理完毕。

数学含义

目标标签7现被确认为从家到大学的最短距离。

反向路径高亮

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    黄色高亮依次出现在D大学、A-D、家-A上。

  2. 声音
    观察依据

    讲述者口述从大学经D、A回到家的逆向路径。

图中对象
  1. 边 D-大学、A-D、家-A

  2. 顶点 大学、D、A、家

  3. 黄色高亮

变化过程
  1. 边按从终点指向起点的逆序依次高亮。

不变量
  1. 高亮过程中,底层图结构与标签均保持不变。

  2. 被高亮的边对应于所记录的前驱箭头。

数学含义

动画通过反向追踪前驱指针,直观地重构最短路径,得到 家 → A→DA \to D → 大学。

高亮最短路径

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    边 home→A、A→DA\to D 和 D→university 以粗黄色高亮显示。

图中对象
  1. 图的边

变化过程
  1. 特定的边被涂成黄色,以区别于图中其余部分。

不变量
  1. 底层图结构保持不变。

数学含义

黄色高亮在视觉上表示算法所找到的构成最短路径的一系列边。

书写路径序列

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    手写文字依次出现在屏幕底部:'university',然后是'- D - university',接着是'- A - D - university',再是'home - A - D - university',最后是'(7)'。

图中对象
  1. 文字标签

变化过程
  1. 文字逐步添加,以构建最终的路径字符串。

不变量
  1. 上方的图示保持静止。

数学含义

该动画演示了通过从终点反向追踪来重构路径的过程,并最终以正确的正向顺序写出路径,同时给出总距离。

易错点 · 3

保留多个距离值

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    当某个顶点处出现两个或更多数字时,我们将划掉所有不等于最小值的数字。

误区

学生可能在单个顶点处保留多个距离值,从而导致后续步骤中产生混淆。

说明

仅应保留最小的距离值;所有更大的值必须明确划掉。

错误地将首个目标标签视为最终结果

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在,我们不能仅因已得到七就断定它是最短距离,因为我们仍需考虑其他顶点。

  2. 声音
    观察依据

    我们无法立刻圈出那个七的根本原因在于:若从 E 到大学的边权仅为一或二,则实际会给出一条更短的路径。

误区

一旦终点处出现某个数字,人们可能误以为它已是最终最短距离而立即停止。

说明

该片段明确显示,大学处的7并未立即被圈出,因为还有一个标号为4、未被圈出的更小顶点E仍需处理;只有在所有更小的候选点都被处理完毕后,目标标号才能最终确定。

仅凭一条可见路径就假定其为最优解。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    假设从E到大学的边权为1或2的讨论。

  2. 图示
    观察依据

    后续候选值9和8被写在大学处,并与7进行比较。

误区

人们可能误以为,只要存在一条通往目的地的路径,即可直接确定答案,而无需检验其他尚未确定的分支。

说明

该例题检验了经由E和B的替代路径,分别得到9和8,但因二者均大于7而予以舍弃。

概念关系 · 9

初始化步骤 → 更新邻接顶点

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    先顺序讲解初始化,再讲解更新邻居。

先修
解释

必须完成初始化步骤后,才能开始更新邻居。

更新邻接顶点 → 选择下一个顶点

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    先顺序讲解更新邻居,再讲解选取最小值。

先修
解释

必须先用新距离更新邻居,算法才能选取下一个访问顶点。

更新邻接顶点 → 处理多个距离

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    在计算出多个到 C 的距离后,立即划掉较大数字的解释。

应用
解释

当多条路径到达同一顶点时,划去较大数字的规则是邻接点更新步骤的直接结果。

在结束前,先选出最小的未加圆圈顶点 → 从家到大学的最短距离

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    讲解者首先坚持必须先处理最小的未圈出顶点,之后才在大学处圈出7。

  2. 图示
    观察依据

    E和B在大学之前即已被确定。

证明依赖
解释

最终距离7依赖于这样一条规则:必须先处理最小的未圈出顶点,目标点方可被宣告完成。

前驱箭头记录了生成该标签的路径。 → 通过沿前驱箭头反向追踪来重构最短路径

依据清楚
依据视频推导
来源依据
  1. 图示
    观察依据

    前驱箭头是在算法运行过程中绘制的。

  2. 声音
    观察依据

    最终路径通过“逆向追踪箭头”获得。

证明依赖
解释

路径重构依赖于此前记录的前驱箭头;若无这些箭头,便无法还原逆向路径。

本例题中数值顶点标签的含义 → 在结束前,先选出最小的未加圆圈顶点

依据清楚
依据视频推导
来源依据
  1. 图示
    观察依据

    所有算法操作都依赖于比较顶点上的数字标签。

  2. 声音
    观察依据

    讲解者反复将这些标签称为距离。

先修
解释

选择下一个顶点的规则,预设了听众理解:每个数字标签代表从源点出发的当前距离估计值。

一个已解出的从家到大学的最短路径示例。 → 在结束前,先选出最小的未加圆圈顶点

依据清楚
依据视频推导
来源依据
  1. 图示
    观察依据

    整段视频仅展示了一个完整的图示例题。

  2. 声音
    观察依据

    旁白具体应用了选择规则与更新规则。

应用
解释

该例题体现了通用方法:选取未加圆圈的最小标签顶点,并更新其邻接顶点的候选距离。

为何必须先检查E,才能接受7 → 错误地将首个目标标签视为最终结果

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    假设从 E 到大学的边权为1或2,用于解释为何7不能立即加圆圈。

对比
解释

经由 E 的更短路径这一假设,与“首个目标标签可立即采纳”的错误观念形成对比。

最短路径算法中的路径回溯 → 报告最短距离

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    说话人从描述路径转为陈述最短距离。

应用
解释

一旦通过回溯确定了路径,最短距离即为该路径上所有边的权重之和。

问题定位 · 11

如何初始化戴克斯特拉算法?

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    在起始顶点处写上零的解释。

涉及知识点
  1. 初始化步骤

为什么在戴克斯特拉算法中要圈出最小的未圈数字?

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    圈出最小未圈数字的解释。

涉及知识点
  1. 选择下一个顶点

若某个顶点旁标有多个距离数字,你该如何处理?

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    一个顶点上有两个或更多数字时的处理规则。

涉及知识点
  1. 处理多个距离

为何主讲人没有立即在‘大学’处给7加圆圈?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    “我们并不能直接断定七就是最短距离”

  2. 声音
    观察依据

    “倘若从 E 到大学的那条边权仅为一或二”

涉及知识点
  1. 在结束前,先选出最小的未加圆圈顶点
  2. 错误地将首个目标标签视为最终结果

该算法演示中,顶点上标注的数字代表什么?

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    数字始终附着于顶点之上,并持续进行比较。

  2. 声音
    观察依据

    从家到B的距离是六

涉及知识点
  1. 本例题中数值顶点标签的含义

大学处的候选值9和8来自何处?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    即到大学的距离是九

  2. 声音
    观察依据

    六加二是八

涉及知识点
  1. 本例题中数值顶点标签的含义
  2. 在结束前,先选出最小的未加圆圈顶点

本例中,从家到大学的最终最短距离是多少?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    从家到大学的最短距离是七

涉及知识点
  1. 从家到大学的最短距离

在求得距离后,如何实际恢复出最短路径?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    从大学出发反向追溯,我们经过了D……A……家。

  2. 动画
    观察依据

    黄色高亮显示了反向追踪的路径。

涉及知识点
  1. 通过沿前驱箭头反向追踪来重构最短路径
  2. 前驱箭头记录了生成该标签的路径。

为什么顶点 E 在目标顶点被最终确定之前就被处理?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    最小的未画圈顶点是下方这个四

  2. 图示
    观察依据

    E在大学被最终确定之前就已被画圈。

涉及知识点
  1. 在结束前,先选出最小的未加圆圈顶点
  2. 错误地将首个目标标签视为最终结果

运行戴克斯特拉(Dijkstra)算法后,如何重构实际的最短路径?

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    从右向左推导路径的说明。

涉及知识点
  1. 最短路径算法中的路径回溯

如何计算加权图中最短路径的总距离?

依据清楚
依据视频推导
来源依据
  1. 声音
    观察依据

    关于标出最短距离的陈述。

涉及知识点
  1. 报告最短距离
覆盖情况与待核验内容

已覆盖 · 戴克斯特拉算法简介。

已覆盖 · 问题陈述:求从家到大学的最短路径。

已覆盖 · 步骤1:初始化起始顶点。

已覆盖 · 步骤2:更新起始顶点的邻接点。

已覆盖 · 步骤3:选择并圈出最小的未圈顶点(A)。

已覆盖 · 步骤4:更新顶点A的邻居。

已覆盖 · 步骤5:划掉顶点C处较大的距离值。

已覆盖 · 步骤6:选择并圈出未被圈出的顶点中距离最小者(C)。

已覆盖 · 步骤7:更新顶点C的邻居。

已覆盖 · 步骤8:选择并圈出未被圈出的顶点中距离最小者(D)。

已覆盖 · 展示图的当前状态,以及从 A 出发产生的对 B 和大学的候选标签。

已覆盖 · 解释说明7尚未最终确定;而标号为4的顶点 E 被选为最小的未加圈顶点。

已覆盖 · 用红色方框进行视觉强调,并假设性地解释:若存在一条从 E 到大学的更短边会怎样。

已覆盖 · 从 E 计算出候选值9,并将其与7比较后划去。

已覆盖 · 选择标号为6的顶点 B,并记录前驱箭头 A→BA\to B。

已覆盖 · 从 B 计算出候选值8,并将其与7比较后划去。

已覆盖 · 最终将大学处的7加圈,作为最短距离的确认。

已覆盖 · 沿前驱箭头反向回溯,还原最短路径:home → A→DA \to D → university。

已覆盖 · 整段视频涵盖最短路径问题的最后步骤:通过回溯确定路径,并对边的权重求和以得到总距离。

探索视频中的知识

打开视频知识图谱 →

  • 最短路模型 讲解定位 0:00
    查看关联依据

    已审核中文素材 v1:知识卡片(概念卡片)「通过回溯重构最短路径」从 0:00 起——最终的距离值并非完整答案。要找出具体路线,需从大学出发,沿前驱节点箭头反向追踪:大学来自 D,D 来自 A,A 来自家。将该链路反转,即得最短路径:家 → A→DA \to D → 大学。

这个视频解答的问题

认识概念

↗
理解原因

↗
掌握方法

↗
掌握方法

↗
认识概念

↗
认识概念

↗
掌握方法

↗