最短路问题 教学ppt
合集下载
最短路问题__迪杰斯特拉算法ppt课件

j
)}
min{
T
(v4
),
T
(v5
),
T
(v6
)}
T
(v4
)
T
(v5
)
5,
所以有, p(v4 ) 5, p(v5 ) 5
(6) T (v6 ) min[T (v6 ), P(v4 ) l46, P(v5 ) l56 ] min[, 5 4,5 2] 7
X={1,2,4}, p2=2
ppt课件
13
X={1,2,4}
p1=0
p2=2
2
6
1
2
3
1
10
p4=1
5
9
3
4
7
5
6
5
2
3
4
6
7
4
p6=3
8 8
min {d16,d23,d25,d47}=min {0+3,2+6,2+5,1+2}=min {3,8,7,3}=3
X={1,2,4,6}, p6=3
ppt课件
P(v1) 0
T (vi ) (i 2,3,,6)
(2) T (v2 ) min[ T (v2 ), P(v1) l12 ] min[ , 0 3] 3
T (v3 ) min[ T (v3 ), P(v1 ) l13 ] min[ , 0 5] 5
最短路问题
ppt课件
1
一、问题的提法及应用背景
(1)问题的提法——寻求网络中两点间 的最短路就是寻求连接这两个点的边的 总权数最小的通路。(注意:在有向图 中,通路——开的初等链中所有的弧应 是首尾相连的。)
《最短路问题》课件

3 最短路问题的历史
渊源
最短路问题最早由荷兰 数学家 Edsger Dijkstra 在 1956 年提出。
最短路问题的定义
图论中的最短路问 题指什么?
在无向连通图或有向连通图 中,从某一起点到其余各顶 点的最短路径。
什么是路径长度?
路径长度是指路径上边或弧 的权值之和。
什么是无环图?
无环图指不存在环的图,可 以用拓扑排序求解最短路。
《最短路问题》PPT课件
欢迎来到最短路问题的世界。在本课件中,我们将介绍四种最短路算法及其 应用,并分析它们的优缺点。
问题背景
1 什么是最短路问题? 2 为什么需要解决最
短路问题?
最短路问题是计算从源 节点到目标节点的最短 路径的问题。它是图论 中的一个经典算法问题。
很多实际问题都涉及到 最短路径的计算,比如 电网、交通、通信等领 域。
Floyd-Warshall算法解决的是所有点对之间 的最短路径问题,可以处理有向图或负边权 图。
Bellman-Ford算法
Bellman-Ford算法解决的是有向图中含有负 权边的单源最短路径问题。
A*算法
A*算法综合了贪心和广度优先搜索,在启发 函数的帮助下,可以高效解决带权图上的单 源最短路径问题。
算法示例
1
Step 1
假设我们要求从 A 点到其他各点的最
Step 2
2
短路径。
首先初始化 A 点到其他各点的距离为
无穷大,A 点到自身的距离为 0。
3
Step 3
找到 A 点的直接邻居,更新其距离值。
Step 4
4
重复 Step 3,直到所有节点的距离值 都已经更新。
总结
运筹学课件 最短路、最大流、邮路

第i年 价格 ai 使用寿命 费用 bi 1 11 0-1 b1 5 2 11 1-2 b2 6 3 12 2-3 b3 8 4 12 3-4 b4 11 5 13 4-5 b5 18
最短路径问题的应用
例 设备更新问题
把求总费用最小问题化为最短路径问题。用点 i (i=1,2,3,4,5)表示第 i 年买进一台新 设备。增设一点 6 表示第五年末。从i点到i+1,……, 6 各画一条弧,弧(i , j)表示在 第 i 年买进的设备一直使用到第 j 年年初(第 j -1年年末)。求1点到6点的最短路径。 路径的权数为购买和维修费用。 弧(i , j)的权数为第i年的购置费ai+从第i年使用至第j-1年末的维修费之和。 从第i年使用至第j-1年末的维修费:b1+…+bj-i
1 1 2 3 4 5 2 16 3 22 16
(使用寿命为j-i年) 具体权数计算结果如下:
5 41 30 23 17 6 59 41 31 23 18
如:(2-4)权数为:a2+b1+b2=11+5+6=22
4 30 22 17
通过一个网络的最短路径
例 设备更新问题 :
2 16 30 22 41 4 23
最大流问题
两个重要结论: 1、任何一个可行流的流量都不会超过任一截集的容量。 2、若对于一个可行流f *,网络中有一个截集( V1*,V1*), 使v( f *)=C(V1*,V1 *),则f *必是最大流,而( V1*, V1 *)必是所有截集中容量最小的一个,即最小截集。
定理:可行流f *是最大流,当且仅当不存在关于f *的增广链。 于是有如下结论:最大流量最小截量定理:任一个网络中,从vs 到vt的最大流量等于分离vs,vt的最小截集的容量。
最短路径问题的应用
例 设备更新问题
把求总费用最小问题化为最短路径问题。用点 i (i=1,2,3,4,5)表示第 i 年买进一台新 设备。增设一点 6 表示第五年末。从i点到i+1,……, 6 各画一条弧,弧(i , j)表示在 第 i 年买进的设备一直使用到第 j 年年初(第 j -1年年末)。求1点到6点的最短路径。 路径的权数为购买和维修费用。 弧(i , j)的权数为第i年的购置费ai+从第i年使用至第j-1年末的维修费之和。 从第i年使用至第j-1年末的维修费:b1+…+bj-i
1 1 2 3 4 5 2 16 3 22 16
(使用寿命为j-i年) 具体权数计算结果如下:
5 41 30 23 17 6 59 41 31 23 18
如:(2-4)权数为:a2+b1+b2=11+5+6=22
4 30 22 17
通过一个网络的最短路径
例 设备更新问题 :
2 16 30 22 41 4 23
最大流问题
两个重要结论: 1、任何一个可行流的流量都不会超过任一截集的容量。 2、若对于一个可行流f *,网络中有一个截集( V1*,V1*), 使v( f *)=C(V1*,V1 *),则f *必是最大流,而( V1*, V1 *)必是所有截集中容量最小的一个,即最小截集。
定理:可行流f *是最大流,当且仅当不存在关于f *的增广链。 于是有如下结论:最大流量最小截量定理:任一个网络中,从vs 到vt的最大流量等于分离vs,vt的最小截集的容量。
最短路问题实验PPT学习教案

(3) 设 v* 是使 l(v) 取最小值的 S 中的顶点,则令 S=S∪{ v* }, u v*
(4) 若 S φ,转 2,否则,停止. 用上述算法求出的 l(v) 就是 u0 到 v 的最短路的权,从 v 的父亲标记
z(v) 追溯到 u0 , 就得到 u0 到 v 的最短路的路线.
第3页/共27页
l(ui )
u1 u2 u3 u4 u5 u6 u7
u8
最后标记: l(v)
z (v)
02
17
u1 u1
u1
u6
3
6 9 12
u2
u5
u4
u5
u2
u5
u1
u4
u6
u8
u3
u7
第6页/共27页
w=[ ];
function [l,z]=Dijkstra(W) n = size (W,1); for i = 1 :n l(i)=W(1,i); z(i)=1; end i=1; while i<=n for j =1 :n
对每个顶点,定义两个标记( l(v) , z(v) ),其中: l(v) :表从顶点 u0 到 v 的一条路的权. z(v) :v 的父亲点,用以确定最短路的路线
算法的过程就是在每一步改进这两个标记,使最终 l(v) 为从顶点
u0 到 v 的最短路的权. S:具有永久标号的顶点集
输入: G 的带权邻接矩阵 w(u, v)
第16页/共27页
一 、 可 化 为 最短路 问题的 多阶段 决策问 题
最短路的应用
二、 选 址 问 题 1、 中 心 问 题 2、 重 心 问 题
第17页/共27页
例:企业要制定一台重要设备 更新的五年计划,目标是使总 费用(购置费用和维修费用之 和)为最小。此设备在各年初 价格及使用期中所需维修数据 如下:
(4) 若 S φ,转 2,否则,停止. 用上述算法求出的 l(v) 就是 u0 到 v 的最短路的权,从 v 的父亲标记
z(v) 追溯到 u0 , 就得到 u0 到 v 的最短路的路线.
第3页/共27页
l(ui )
u1 u2 u3 u4 u5 u6 u7
u8
最后标记: l(v)
z (v)
02
17
u1 u1
u1
u6
3
6 9 12
u2
u5
u4
u5
u2
u5
u1
u4
u6
u8
u3
u7
第6页/共27页
w=[ ];
function [l,z]=Dijkstra(W) n = size (W,1); for i = 1 :n l(i)=W(1,i); z(i)=1; end i=1; while i<=n for j =1 :n
对每个顶点,定义两个标记( l(v) , z(v) ),其中: l(v) :表从顶点 u0 到 v 的一条路的权. z(v) :v 的父亲点,用以确定最短路的路线
算法的过程就是在每一步改进这两个标记,使最终 l(v) 为从顶点
u0 到 v 的最短路的权. S:具有永久标号的顶点集
输入: G 的带权邻接矩阵 w(u, v)
第16页/共27页
一 、 可 化 为 最短路 问题的 多阶段 决策问 题
最短路的应用
二、 选 址 问 题 1、 中 心 问 题 2、 重 心 问 题
第17页/共27页
例:企业要制定一台重要设备 更新的五年计划,目标是使总 费用(购置费用和维修费用之 和)为最小。此设备在各年初 价格及使用期中所需维修数据 如下:
第三节 最短路问题PPT课件

定义: 给定一个赋权有向图,即给了一个有向图
G=(V,A,W) ,对每一个弧aij =(vi,vj)∈A , 相应地有权w(aij ) =wij ∈V1 ,又给定 G中的 两个顶点vs ,vt 。设 P是G 中从vs 到 vt的一条路,
定义路 P的权是 P中所有弧的权之和,记为W(P)
。最短路问题就是要在所有从vs 到vt 的路中,求 一条权最小的路,即求一条从vs 到vt 的路P* ,
Thank You
在别人的演说中思考,在自己的故事里成长
Thinking In Other People‘S Speeches,Growing Up In Your Own Story
讲师:XXXXXX XX年XX月XX日
则resent= vk,
, 。 Sk Sk1 vk
Tk Tk1 vk
若k=n,则结束,否则转第二步。
6
例 用Dijkstra算法求前面例子中从v1到各点的最短路。
v2 1
6 2
v5
2
v9
6
3
v1
3 v3 6
3 4 10
1
2
v4
10
4
v6 2 v7
v8
7
图上标号法:
v2 v1,6 1
v5
v1, ∞ 2
转步骤二。
29
用逐次逼近算法求从V1到V6的最短路
v2
5
4
v1
-3
5
7
v3
v6 v4 6
2
v5
30
写在最后
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
运筹学课件(第十讲)—最短路问题

如果P是D中从vs到vj的最短路,vi是P中的一点,那么从vs沿P到vi路也是 从vs到vi的最短路。
Dijkstra法的适用条件
求出一点到图中任意点最短路
求解思路
从vs出发,逐步地向外探索最短路。执行过程中,与每个点记下一个数, 它或者表示从vs到该点的最短路的权(称为P(perpetual)标号),或者是 从vs到该点的最短路的权的上界(称为T(temporary)标号),方法的每一 步是去修改T标号,并且把某一个T标号点改为P标号点,从而使D中P标 号顶点多一个,这样最多经过p-1步就可以求出从vs到各点的最短路。
(2)起点发出的流的总和(称为流量),必须等于终点接收的流的总 和;
(3)各中间点流入的流量之和必须等于从该点流出的流量之和,即 流入的流量之和与流出的流量 之和的差为0,也就是说各中间点只 起转运作用,它既不产出新的物资,也不得截留过境的物资.
Operation Research
网络最大流的基本概念(3)
第八讲
Operation Research
网络最大流的基本概念(6)
增广链的基本概念
第八讲
Operation Research
第八讲
Operation Research
第八讲
Operation Research
实例:寻找图中增广链
第八讲
Operation Research
第八讲
网络最大流的基本概念(7)
运筹学课程
Operation Research
最短路问题
定义
第八讲
求最短路有两种算法,一是求从某一点至其他各点之间最短距离的Dijkstra(狄 克斯屈拉)算法;另一种是求网络图上任意两点之间最短距离的矩阵算法.
Dijkstra法的适用条件
求出一点到图中任意点最短路
求解思路
从vs出发,逐步地向外探索最短路。执行过程中,与每个点记下一个数, 它或者表示从vs到该点的最短路的权(称为P(perpetual)标号),或者是 从vs到该点的最短路的权的上界(称为T(temporary)标号),方法的每一 步是去修改T标号,并且把某一个T标号点改为P标号点,从而使D中P标 号顶点多一个,这样最多经过p-1步就可以求出从vs到各点的最短路。
(2)起点发出的流的总和(称为流量),必须等于终点接收的流的总 和;
(3)各中间点流入的流量之和必须等于从该点流出的流量之和,即 流入的流量之和与流出的流量 之和的差为0,也就是说各中间点只 起转运作用,它既不产出新的物资,也不得截留过境的物资.
Operation Research
网络最大流的基本概念(3)
第八讲
Operation Research
网络最大流的基本概念(6)
增广链的基本概念
第八讲
Operation Research
第八讲
Operation Research
第八讲
Operation Research
实例:寻找图中增广链
第八讲
Operation Research
第八讲
网络最大流的基本概念(7)
运筹学课程
Operation Research
最短路问题
定义
第八讲
求最短路有两种算法,一是求从某一点至其他各点之间最短距离的Dijkstra(狄 克斯屈拉)算法;另一种是求网络图上任意两点之间最短距离的矩阵算法.
数学建模最短路问题课件ppt

b(1,j-1)=1; b(2,j-1)=j; b(3,j-1)=a(1,j); end
while size(T,2) < n-1 [min,i]=min(b(3,:)); %在候选边中找最短边。 T(:,size(T,2)+1)=b(:,i); e = e + b(3,i); v = b(2,i); %v表示新涂的红点。 temp = find(sb == b(2,i)); sb(temp) = [ ]; b(:,i) = [ ]; for j =1:length(sb) %调整候选边 d = a(v,b(2,j)); if d<b(3,j) b(1,j) = v; b(3,j) = d; end end
权,并称图 G 为赋权图.
规定用记号 和 分别表示图的顶点数和边数.
常用术语: (1) 端点相同的边称为环. (2) 若一对顶点之间有两条以上的边联结,则这些边称为重边.
(3) 有边联结的两个顶点称为相邻的顶点,有一个公共端点的边 称为相邻的边.
(4) 边和它的端点称为互相关联的. (5) 既没有环也没有平行边的图,称为简单图. (6) 任意两顶点都相邻的简单图,称为完备图,记为 Kn,其中 n
通路Wv1v4 v1e4v4e5v2e1v1e4v4 道路 Tv1v4 v1e1v2e5v4e6v2e2v3e3v4 路径 Pv1v4 v1e1v2e5v4
定义2 (1)任意两点均有路径的图称为连通图. (2)起点与终点重合的路径称为圈. (3)连通而无圈的图称为树.
定义3 (1)设 P(u, v) 是赋权图 G 中从 u 到 v 的路径,
4
22 3 4 35
5
78 inf 1965
3
实现Prim算法的MATLAB程序: a=[0 8 inf 1 5;8 0 6 inf 7;inf 6 0 9 10;1 inf 9 0 3;…
while size(T,2) < n-1 [min,i]=min(b(3,:)); %在候选边中找最短边。 T(:,size(T,2)+1)=b(:,i); e = e + b(3,i); v = b(2,i); %v表示新涂的红点。 temp = find(sb == b(2,i)); sb(temp) = [ ]; b(:,i) = [ ]; for j =1:length(sb) %调整候选边 d = a(v,b(2,j)); if d<b(3,j) b(1,j) = v; b(3,j) = d; end end
权,并称图 G 为赋权图.
规定用记号 和 分别表示图的顶点数和边数.
常用术语: (1) 端点相同的边称为环. (2) 若一对顶点之间有两条以上的边联结,则这些边称为重边.
(3) 有边联结的两个顶点称为相邻的顶点,有一个公共端点的边 称为相邻的边.
(4) 边和它的端点称为互相关联的. (5) 既没有环也没有平行边的图,称为简单图. (6) 任意两顶点都相邻的简单图,称为完备图,记为 Kn,其中 n
通路Wv1v4 v1e4v4e5v2e1v1e4v4 道路 Tv1v4 v1e1v2e5v4e6v2e2v3e3v4 路径 Pv1v4 v1e1v2e5v4
定义2 (1)任意两点均有路径的图称为连通图. (2)起点与终点重合的路径称为圈. (3)连通而无圈的图称为树.
定义3 (1)设 P(u, v) 是赋权图 G 中从 u 到 v 的路径,
4
22 3 4 35
5
78 inf 1965
3
实现Prim算法的MATLAB程序: a=[0 8 inf 1 5;8 0 6 inf 7;inf 6 0 9 10;1 inf 9 0 3;…
运筹学 PPT课件 第五章 图与网络分析-最短路

Dijkstra最短路算法的特点和适应范围
一种隐阶段的动态规划方法 每次迭代只有一个节点获得永久标记,若有两个或两个以上节点的 临时标记同时最小,可任选一个永久标记;总是从一个新的永久标 记开始新一轮的临时标记,是一种深探法 被框住的永久标记 Tj 表示 vs 到 vj 的最短路,因此 要求 dij0,第 k 次迭代得到的永久标记,其最短路中最多有 k 条边,因此最多有
d
(0) 65
}
min{0 ,2 9,6 3, , 0, 1}
9 取自第3列
v1 v2 v3 v4 v5 v6
0 2 6
2
0
3
8
9
D(0) L 6 3 0 5 3
8
5
0
3
9 3 0 1
3
1
0
d (1) 16
mkin{d1(k0)
d
} (0)
k6
(第1行+第6列)
8
5
0
3
9 3 0 1
3
1
0
d (1) 15
mkin{d1(k0)
d
(0) k5
}
(第1行+第5列)
min{d1(10)
d (0) 15
,
d (0) 12
d (0) 25
,
d (0) 13
d (0) 35
,
d (0) 14
d
(0) 45
,
d (0) 15
d (0) 55
,
d (0) 16
min{d1(10)
d (0) 16
,
d (0) 12
d
(0) 26
,
d (0) 13
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v8
6
3
v9 v7
4
v4
10
v6
2
[5,v3]
v2
1
v5
4 10
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 3
v8
6
3
v9 v7
4
v4
10
v6
2
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
v8
6
3
v[ 9 12,v5] v7
4
v4
10
v6
[10,v5]
2
[9,v5]
此时,终点标号为[12,v5],即v1—vn的最短距离为12,反向追踪 可求出最短路。
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
v8
6
3
v[ 9 12,v5] v7
4
v4
10
v6
[10,v5]
2
[9,v5]
v1-v9的最短路为:v1-v3-v2-v5-v9,最短距离为12
•
Dijkstra算法的补充说明
① 标号过程中间结点的标号内容有明确的意义
② 同一问题可能存在多个最短路,但距离是唯一的
③ 当网络中出现负的权数时,算法失效。
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 3
v8
6
3
v9 v7
4
v4
10
v6
2
v2
6 [0,v1]
1
v5
4 10
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 3
v8
6
3
v9 v7
4
v4
10
v6
2
[5,v3]
v2
1
v5
4 10
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 3
最短路问题
最短路问题的研究在现实生活中有哪些应用?
• • • •
管道的铺设 线路的安排 厂区的布局 设备的更新
问题:求网络中起点到其它点的一条最短路线 引例:求网络中V1-V9的最短路
v2
6
1
v5
4 10
2
v1
1
3
2
v8
6 3 6
3
v3
2
v9
v7
4
v4
10
v6
2
• •
算法:Dijkstra(狄克斯特拉) 标号法 基本思想:从起点Vs开始,逐步给每个节点V标号[dj,vi],其 中dj是起点Vs到vj的最短距离,vi为该最短路线上的前一节点。
算法:Dijkstra(狄克斯特拉) 标号法
Step1: 给起点v1标号[0,v1]
v2
6 [0,v1] v1 3 2
1
v5
4 10
2
v8
6 3 6
3
v3
2
v9 v7
4
1
v4
10
v6
2
算法:Dijkstra(狄克斯特拉) 标号法
Step2: 把顶点v分成
VA:已标号点集 VB:未标号点集
1
v2
6 [0,v1] v1 1 3 2
[0,v1]
v1 2
1
[1,v1] v3 -3
v2
•
Dijkstra算法的补充说明
① 标号过程中间结点的标号内容有明确的意义
② 同一问题可能存在多个最短路,但距离是唯一的
③ 当网络中出现负的权数时,算法失效。
④ 前面的算法描述针对有向网络图,但对于无向的网络图,只需 将step 3中的(vi, vj)改为[vi, vj],算法同样适用。
3
v3
2
v9
v7
10
4
[1,v1]
v4
v6
2
v2
6 [0,v1]
1
v5
4 10
2
v1
3 1
2
v8
6 3 6
3
v3
2
v9 v7
4
[1,v1]
v4
10
v6
2
v2
6 [0,v1]
1
v5
4 10
2
v1
3 1
2
v8
6 3 6
3
v3
2
v9 v7
4
[1,v1]
v4
10
v6
2
v2
6 [0,v1]
1
v5
4 10
Thank you
v8
6
3
v9 v7
4
v4
10
[10,v5]
v6
2
[9,v5]
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
v8
6
3
v9 v7
4
v4
10
v6
[10,v5]
2
[9,v5]
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
1
v5
4 10
2
v8
6 3 6
3
v3
2
v9
v7
10
4
v4
v6
2
算法:Dijkstra(狄克斯特拉) 标号法
Step 3: 考虑所以这样的边(vi, vj)其中vi∈VA,vj∈VB,挑选其中 与起点v1距离最短(min{di + cij})的vj,对vj进行标号。
v2
6 [0,v1] v1 1 3 2
v8
6
3
v9 v7
4
v4
10
v6
2
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
v8
6
3
v9 v7
4
v4
10
v6
2
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
1
v5
4 10
2
v8
6 3 6
3
v3
2
v9
v7
10
4
[1,v1]
v4
v6
2
算法:Dijkstra(狄克斯特拉) 标号法
Step 4: 重复2,3步骤,直至终点vn标上[dn,vi],着dn即为v1-vn 的最短距离,反向追踪可找出最短路。
v2
6 [0,v1] v1 1 3 2
1
v5
4 10
2
v86 3 6源自v54 102
v8
6 3 6
3
v3
2
v9 v7
4
v4
10
v6
2
算法:Dijkstra(狄克斯特拉) 标号法
Step 3: 考虑所有这样的边(vi, vj)其中vi∈VA,vj∈VB,挑选其中 与起点v1距离最短(min{di + cij})的vj,对vj进行标号。
v2
6 [0,v1] v1 1 3 2
v8
6
3
v9 v7
4
v4
10
v6
2
[9,v5]
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3
v8
6
3
v9 v7
4
v4
10
v6
2
[9,v5]
[5,v3]
v2
1
[6,v2]
v5
6 [0,v1]
2
v1
3 1
2 6 v[ 3 3,v1] 2 [1,v1] 4 10 3