算法设计与分析——任务分配问题

这篇博客探讨了如何解决任务分配问题,主要介绍了基本的算法思想——暴力法,并给出了相应的源代码实现。
摘要由CSDN通过智能技术生成
【问题描述】
假设有n个任务需要分配给n个人执行,每个人只执行一个任务,每个任务只由一个人执行。第i个人执行第j个任务的成本是Cij(1<=i,j<=n),
求解初最小成本的分配方案。
【基本算法思想】
暴力法:
用矩阵表示任务分配问题,矩阵元素Cij(1<=i,j<=n)表示人员i执行任务j的成本。任务分配问题转化为,在矩阵中的每一行选取一个元素,这些元素
分别属于不同的列。用一个n元组(j1,j2,...,jn)表示一个可能解,其中ji表示第i行中选择的列号。用暴力法解决此问题则可表示成,生成一个
n元组的全排列,遍历输出最小的成本代价即可。  

复杂度分析: 一个n元组的全排列的个数为n!个。暴力法慎用!!!
【源代码】
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
#define MAX 99999
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值