详解图的应用(最小生成树、拓扑排序、关键路径、最短路径)

2020-01-06 13:45:16王旭
  • { father[vf2]=vf1;   j++;  
  • printf(“%3d%3dn”,edges[i].v1,edges[i].v2);   }  
  • i++;   }  
  • }     
  • //find 函数   int Find(int father[ ],int v)  
  • /*寻找顶点v 所在树的根结点*/  { int t;  
  • t=v;   while(father[t]>=0)  
  • t=father[t];   return(t);  
  • }  

    2. AOV网与拓扑排序:由偏序定义得到拓扑有序的操作便是拓扑排序。建立模型是AOV网
    2. 1.AOV网(Activity on vertex network)

    所有的工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。若以图中的顶点来表示活动,有向边(弧)表示活动之间的优先关系,则这样活动在顶点上的有向图称为AOV 网(Activity On Vertex Network)。在AOV 网中,若从顶点i到顶点j之间存在一条有向路径,称顶点i是顶点j的前驱,或者称顶点j 是顶点i的后继。若<i,j>是图中的弧,则称顶点i是顶点j 的直接前驱,顶点j 是顶点i 的直接后驱。

    AOV 网中的弧表示了活动之间存在的制约关系。例如,计算机专业的学生必须完成一系列规定的基础课和专业课才能毕业。学生按照怎样的顺序来学习这些课程呢?这个问题可以被看成是一个大的工程,其活动就是学习每一门课程。这些课程的名称与相应代号如表所示。

    详解图的应用(最小生成树、拓扑排序、关键路径、最短路径)

    课程之间的优先关系图:

    详解图的应用(最小生成树、拓扑排序、关键路径、最短路径)