Python递归解决AOE网络最长路关键路径的问题
来源:互联网 发布:k线选股软件 编辑:程序博客网 时间:2024/06/01 08:53
Python递归解决AOE网络最长路关键路径的问题
一鼓作气,再来一发
这是某同学在某公司的宣讲会中笔试部分的一题,如下图:
如图:每一个项目都有完成时间和若干个前置条件,求总项目(或每一个项目)的最短完成时间。
上代码:
class Pro:def __init__(self,pro_id,require_time,previous,pro_list):self.pro_id = pro_idself.require_time = require_timeself.previous = previous#self.status = Falsepro_list.append(self)# def Test(self):# for item in self.previous:# if pro_list[item].status == False:# return False# return Truedef ShowSelf(self):print self.id,self.require_time,self.previous,#self.status,# def Pro_Finish(self):# self.status = Truedef run(self):total = 0tmp = []if self.pro_id == 0:return 0a = len(self.previous)for x in range(a):tmp.append(pro_list[self.previous[x]].run() + self.require_time)print tmptotal = max(tmp)print totalreturn totalpro_list = []pro_0 = Pro(0, 0, [0], pro_list)# pro_0.status = True#init the pro_listpro_1 = Pro(1, 4, [0], pro_list)pro_2 = Pro(2, 3, [1], pro_list)pro_3 = Pro(3, 2, [1], pro_list)pro_4 = Pro(4, 5, [2], pro_list)pro_5 = Pro(5, 3, [3,4,8], pro_list)pro_6 = Pro(6, 1, [4], pro_list)pro_7 = Pro(7, 3, [5,6], pro_list)pro_8 = Pro(8, 5, [1], pro_list)pro_9 = Pro(9, 4, [7], pro_list)total_time = pro_9.run() #此处为总项目,也可以是单个项目print "Total_time:",total_time运行结果:
[4]
4
[6]
6
[4]
4
[7]
7
[12]
12
[4]
4
[9]
9
[9, 15, 12]
15
[4]
4
[7]
7
[12]
12
[13]
13
[18, 16]
18
[22]
22
Total_time: 22
1 0
- Python递归解决AOE网络最长路关键路径的问题
- AOE网络的关键路径问题
- SDUTOJ 2498 AOE网上的关键路径(最长路)
- SDUT 2498 AOE网上的关键路径(SPFA 最长路径)
- AOE网上的关键路径(spfa+按字典序输出最长路)
- AOE图的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- AOE网上的关键路径
- Layer For Mobile1.5
- (3.1.3)J2ee的概念和关键名词
- 集合类的remove(obj)和iterator的remove方法差别
- 【网络流 FOJ 2143 Board Game
- Android的所有权限说明
- Python递归解决AOE网络最长路关键路径的问题
- C#正真实现C++中的数值型位域(非位标志)
- 负载均衡--大型在线系统实现的关键(上篇)(再谈QQ游戏百万人在线的技术实现)
- linux ll命令:查看文件的属性
- 解决 Socket 和 Socket2 冲突出现的编译错误
- window.location.href火狐不兼容性问题
- 概率试题---概率求解问题
- 软件体系结构风格
- windows C++读取plist文件方法