算法第5章上机实践报告

1、实践题目

     工作分配问题

2、问题描述

     设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。

3、算法描述

     

 

void backtrack(int t)   
{
    if(t>n)           
    {
        if(h<best)
            best=h;     
            return;
    }
    else
    {
        for(int i=t;i<=n;i++)      
        {
            h+=a[t][b[i]];
            swap(b[t],b[i]);
            if(h < best)
                backtrack(t+1);
            swap(b[t],b[i]);
            h-= a[t][b[i]];
        }
    }
}

限制函数保证了最后的解一定是最小值

4、心得体会

  通过这次的上机实践课,我和同伴对回溯法都有了更深一步的了解,希望能够继续好好学习,用回溯法解决更多的问题

posted @ 2018-12-23 18:37  YILINNN  阅读(142)  评论(0编辑  收藏  举报