算法第五章作业

一、对回溯法的理解

  回溯法和暴力法其实是同理的,向着其中一条路无限走下去,直到尽头,再回头。把所有的路走完为止,然后找到解。在这个过程中,可以增加限制条件来减少路的数目,达到优化的效果。

二、子集和问题

void dfs(int num){
    if(flag1){
        return;
    }
    if(sum==c){
        for(int i=1;i<num;i++){
            if(flag[i]){
                cout<<a[i]<<" ";
            }
        }
        flag1=1;
        return;
    }else if(sum>c){
        return;
    }else{
        if(num<=n){
            sum+=a[num];
            flag[num]=1;
            dfs(num+1);
            sum-=a[num];
            flag[num]=0;
            dfs(num+1);
        }
            
    }
    return;
}

第一题代码
View Code

三、结对编程情况

  好,很好,非常好!

posted @ 2019-12-19 20:25  小懒瓜子  阅读(94)  评论(0编辑  收藏  举报