- 4
- 0
- 约2.65万字
- 约 83页
- 2019-11-27 发布于广东
- 举报
再证(b)。对S的基数(元素个数)m进行归纳。当m=1时,S中只有始点v0,所以,对任何非始点结点v,若v0, v存在,从v0到v的中间只经过S中结点的路径就是边v0, v,不存在其他这样的路径;若v0, v不存在,则也不存在这种路径。算法初始时(m=1时),对每个非始点i,令dist[i]为边v0, i的权,边v0, i不存在时,令dist[i]为∞,这显然满足dist的定义。现设m=k时结论成立,考察m=k+1的情况,此时,S中增加了一个新结点u。对任一S外结点v,源点v0到v的特殊路径中,由于u的加入,可能会增加。新增加的特殊路径只可能有下列两种: ①u到v路段直接由边u, v构成 ②u到v路段中含有S中结点 下面说明,特殊路径②肯定大于原dist[v]。设S中结点x连接结点v,则u加入S后,特殊路径②的长度为dist2[v]=dist[u]+p(u,x)+p(x,v). 由于u是最新加入S的,故有dist[x]dist[u],从而 dist2[v]dist[x]+p(u,x)+p(x,v)dist[x]+p(x,v) ≥dist[v] 这里,有dist[x]+p(x,v) ≥dist[v],是因为已假设dist[v]是v0到v的最短的特殊路径,应该有dist[v]=min{dist[x]+p(x,v)|对所有的(x,v
原创力文档

文档评论(0)