最佳调度回溯法。C语言实现

这是一个关于使用C语言实现最佳调度回溯法的程序。`printP` 函数用于打印调度方案,`copy` 函数用于复制调度数据,而`search` 函数是核心搜索算法,递归地尝试不同的任务分配以找到最佳调度方案。当所有任务分配完毕,会通过 `maxTime` 计算总时间,并与当前最佳时间比较更新最佳解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

void printP(int len){
    //打印调度方案。只是其中一种方案
    for(int i=0;i<len;i++){
       printf("任务:%d",kk[i][0]+1);
       printf("分配给:%d\n",kk[i][1]+1);
    }
    printf("最佳调度方案时间为:%d\n",bestT);
}
void copy(int k[][3],int len){
    for(int i=0;i<len;i++){
        kk[i][0] = k[i][0];
        kk[i][1] = k[i][1];
    }
}
void search(int i,int* ti,int n,int k[][3],int kl){
    if(i>=n){
       //说明所有任务全部分配完毕
        if(bestT==-1){
            bestT = maxTime(k,n,kl);
            copy(k,n);
        }else if(bestT>maxTime(k,n,kl)){
            bestT = maxTime(k,n,kl);
            copy(k,n);
        }
    }
    for(int j=0;j<kl;j++){
       //需要进行减枝操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值