算法第五章上机实践

实践题目

工作分配问题

问题描述

有n个人、n个工作,每个人只能做一个工作,每人对应每个工作有一个消费,求完成所有工作的最小消费

算法描述

这里采用回溯法,按顺序给每个人分配工作,如果一件工作已经被分配,打上标记防止被重复分配
分配过程中,如果当前的消费已经大于等于已知的最小消费,就停止对子节点的搜索。

心得体会

实际上这题还有优化空间和另外的解法。
可以用课本的方法通过排列组合来剪枝。
了解到的另外两种解法(本质上一样):
二分图完全匹配算法(匈牙利算法)
网络流——最小费用流(最小费用流也可以完成二分图匹配问题)
以后有空学一下这两种解法。

posted @ 2018-12-23 19:41  Apale  阅读(109)  评论(0编辑  收藏  举报