斯坦福 算法2 第一周作业

这篇博客详细介绍了斯坦福算法课程第一周的作业内容,包括Problem Set 1中的调度问题证明,解释了为何按照任务的开始时间dj排序能得出最优解。此外,讨论了Prim算法的子图最小生成树性质,并指出在实现中选择了朴素版本而非堆优化。
摘要由CSDN通过智能技术生成

来自斯坦福网站的Algorithms: Design and Analysis,与目前coursera上的版本内容没有变化,不过时间安排略有不同。

1. Problem Set 1

在这里插入图片描述
按照提示, R j R_{j} Rj表示按结束时间升序排序的第j个任务,设其结束时间为 S j S_{j} Sj。那么这个任务占用的时间就是 [ S j − 1 , S j ] [S_{j-1},S_{j}] [Sj1,Sj]。其它的任何任务i占用的时间都是 [ S j − 1 , S i ] [S_{j-1},S_{i}] [Sj1,Si],而根据设定 S i ≥ S j S_{i} \geq S_{j} SiSj,也就是说选择 R j R_{j} Rj占用的时间段初试时间与其它所有任务相同,而结束时间比选择其它的都短,因此与最少的任务重叠。

在这里插入图片描述
刚开始我觉得应该按 d j − p j d_{j}-p_{j} djpj来排序,后来发现用 d j d_{j} dj就可以了。证明过程与课程中的证明很类似。按照 d j d_{j} dj升序得到的解法 α \alpha α的表示为[1,2,3,…,n],而假设最优解 α ∗ \alpha* α

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值