算法第五章实践
---恢复内容开始---
1、实践题目 :工作分配问题
2、问题描述
设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。
3、算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述)
答:解空间:因为有n个工人,每个工人选择的工作也不同,所以解空间为:n!
解空间树:
约束函数:if(mids>ans) return;当到第n个人的时候,工钱总和mids大于最优解的时候,回溯。
4、心得体会(对本次实践收获及疑惑进行总结)
对于第一题的利用bound剪枝理解了很久,虽然老师在课堂上也有讲过,但依然比较难以理解,最后经过伙伴得解释才得以弄明白。而第二题相比第一题就容易理解很多,剪枝的函数也相对容易实现一点,对比起贪心算法,感觉回溯法要难很多。