算法第五章实践

---恢复内容开始---

1、实践题目 :工作分配问题

2、问题描述

设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。

3、算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述)

答:解空间:因为有n个工人,每个工人选择的工作也不同,所以解空间为:n!

解空间树:

约束函数:if(mids>ans) return;当到第n个人的时候,工钱总和mids大于最优解的时候,回溯。

4、心得体会(对本次实践收获及疑惑进行总结)

对于第一题的利用bound剪枝理解了很久,虽然老师在课堂上也有讲过,但依然比较难以理解,最后经过伙伴得解释才得以弄明白。而第二题相比第一题就容易理解很多,剪枝的函数也相对容易实现一点,对比起贪心算法,感觉回溯法要难很多。

posted on 2018-12-23 17:39  邓Loser  阅读(154)  评论(0编辑  收藏  举报