首页 > 其他分享 >数据结构-关键路径解法思路

数据结构-关键路径解法思路

时间:2022-10-05 23:11:58浏览次数:64  
标签:ve 路径 vl a0 权值 数据结构 节点 解法

 关键路径是有向带权无环图的一种寻求路径的算法,采用四组数据,两组点的,两组边的,表格化后一目了然。

  分别是:ve(k),vl(k),e(i) ,l(i)

  点:k表示点的标识

    ve:最早发生时间(从初始节点开始,取最大值。(从左到右,取最大))

    vl:最迟发生时间  (在ve的基础上,从最后一个节点开始,减去权值,取最小。(从右到左,取最小))

  边:i表示边的标识

    e:最早开始时间(边对应的出发节点的ve)

    l:最迟开始时间 (边对应的终止节点的vl减去变得权值)

  再引入一个d的概念,l-e,最终选取d为0的边来串联点,构成关键路径。

    在计算出ve后,即可确定关键路径。

    松弛时间=l - e

图如下,举例说明

 

 

第一步:求ve

ve(k),从起点0出发,权值最长的走法,从前到后。ve(0)=0

ve(1)=3,就是a0

ve(2)=4,就是a1

ve(3)=ve(1)+a2=5,可以这么理解,也可以理解成从0到3,最长路径是0-1-3,权值加起来是3+2=5

ve(4)=max{ve(1)+a3 , ve(2)+a4} 取较大的值,也可以理解成0-1-4和0-2-4,哪个权值大取哪个。

以此类推……

入度不为1的节点,通过前一节点加上指向该节点的权值取较大值更科学,直接算路径长更直观

 

 第二步:求vl

 vl(k),从终点往回倒,减去前一边的权值,取最小。vl(10)=28

vl(9)=vl(10)-a14=22

vl(8)=vl(9)-a13=21

vl(7)=min{vl(9)-a11  ,vl(8)-a12}=11

以此类推……

 

 第三步:求e

最早开始时间,就是边的出发节点的ve

 

 第四步:求l

用边的终止节点的 vl 减去边的权值

a0从0指向1,用vl(1)-a0

l(a0)=vl(1)-a0 = 3

a2从1指向3,用vl(3)-a2

l(a2)=vl(3)-a2=13

以此类推……

 

 通过 l-e 得出d

 

 d为0的边,构成关键路径

即,a1,a4,a8,a12,a13,a14构成关键路径

 

 完成

标签:ve,路径,vl,a0,权值,数据结构,节点,解法
From: https://www.cnblogs.com/kuailest/p/16756721.html

相关文章

  • 图论最短路径问题(一)
     图的基本概念总概念:图论中的图是由若干给定的点及连接两点的线构成的图形,表示事物之间的特定关系点:表示事物线:表示相应两个事物之间具有某种的特定关系数学语言描述:G(V(G)......
  • Vue 打开窗口输出文件路径
    下面实现的是打开在Electron中弹出窗口选择文件,实现的功能:打开本地窗口,选择文件路径进行输出文件<template><divclass="about"><h1>Thisisanaboutpage</h......
  • 数据结构精选题
    P2391白雪皑皑题目大意给定一个序列,\(m\)次染色,每次将一个区间内的点染色\(i\),染过色的元素可覆盖,求\(m\)次染色后,每个元素的颜色。思路性质:如果暴力染色的话,肯定T飞,......
  • 62.unique-paths 不同路径
    问题描述62.不同路径解题思路还是找递推关系:\(dp_{mn}=dp_{(m-1)n}+dp_{m(n-1)}\)代码#include<vector>usingstd::vector;classSolution{public:i......
  • 63.unique-paths-ii 不同路径II
    题目描述63.不同路径II解题思路相比62.不同路径II,主要是多了障碍物地判断,设\(obstacleGrid[i][j]=0\),则\(dp_{{i}{j}}=0\),其余递推关系相同。注意for循环遍历地过......
  • 【code基础】树的三种遍历的常规解法
    树的中序遍历有三种解法,包括:递归(好理解,代码简单,但效率不高)借助栈的迭代方法莫里斯遍历1.递归List<Integer>res=newArrayList<>();//前序publi......
  • 【HTML】学习路径7-显示图片
    img标签<imgsrc="dir"/>img有什么用显示图片img怎么用语法格式:<imgsrc="dir"/>,其中,src是源,dir请改为图片路径,且改标签是单标签,自身结束。<!DOCTYPEhtml><metach......
  • 【HTML】学习路径6-实体字符/特殊字符/转义字符
    &code;为什么有这个东西HTML中,某些字符是预留的,比如<>等,浏览器会把这些字符识别成标签。如果需要正确的在浏览器中展示这些字符,则需要使用实体字符(characterentitles),......
  • 可持久化数据结构小结
    (CSP赛前复健,今年最后一次机会了,希望能拿个好成绩)可持久化数据结构就是总是可以保留每一个历史版本,并且支持操作的数据结构可持久化数组题目传送门:LuoguP3919题目描述......
  • 数据结构基础—绪论
    数据结构基础—绪论一、什么式数据结构数据结构是一门研究非数值计算的程序实际问题中计算机的操作对象以及它们之间关系和操作等的学科程序设计=数据结构+算法数......