算法第五章实践

Posted wqxxxx--

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法第五章实践相关的知识,希望对你有一定的参考价值。

一 、 实践题目

 

工作分配问题

 

二 、 问题描述

 

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

 

输入格式:

 

输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用。

 

输出格式:

 

将计算出的最小总费用输出到屏幕。

 

输入样例:

 

3

 

10 2 3

 

2 3 4

 

3 4 5

 

输出样例:

 

9

 

三 、算法描述

 

进行回溯,遍历左子树后回溯遍历右子树

 

if(cp+w[i][x[j]]<bestp)

 

         {

 

                  cp+=w[i][x[j]];

 

                  swap(i,j);

 

                  backtrack(i+1);

 

                  swap(i,j);

 

                  cp-=w[i][x[j]];

 

         }

 

四、心得体会

 

和队友讨论之后了解到需要进行剪枝,来实现更少的时间复杂度,可以把算法设计的更加周密。

 

以上是关于算法第五章实践的主要内容,如果未能解决你的问题,请参考以下文章

算法 第五章实践报告

算法第五章实践

算法第五章实践

算法第五章上机实践

算法第五章上机实践

算法第五章上机实践报告