标签:style strong 问题 size type 设计 ef c
对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。
若图中存在有向环,则不可能使顶点满足拓扑次序。
利用DFS每次取出入度为0的点,存入栈中,即可获得拓扑序列。
可以解决类似如下的问题:
一、系统有很多任务,任务之间有依赖,比如B依赖于A,则A执行完后B才能执行
(1)不考虑系统并行性,设计一个函数(Task *Ptask,int Task_num)不考虑并行度,最快的方法完成所有任务。
(2)考虑并行度,怎么设计
typedef struct{
int ID;
int * child;
int child_num;
}Task;
提供的函数:
bool doTask(int taskID);无阻塞的运行一个任务;
int waitTask(int timeout);返回运行完成的任务id,如果没有则返回-1;
bool killTask(int taskID);杀死进程
标签:style strong 问题 size type 设计 ef c
原文地址:http://www.cnblogs.com/notlate/p/3881548.html