
算法程序设计
文章平均质量分 85
有意思的算法
咩咩_10538769
这个作者很懒,什么都没留下…
展开
-
流水调度作业问题【回溯】
首先需要明确,流水调度作业问题最佳算法应该是用贪心,这里先介绍回溯再介绍贪心【问题描述】有n个作业(编号为1~n)要在由两台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为ai和bi (1≤i≤n) 。流水作业调度问题要求确定这n个作业的最优加工顺序,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少。可以假定任何作业一旦开始加工,就不允许被中断,直到该作业被完成,即非优先调度。.原创 2021-12-20 00:37:34 · 2831 阅读 · 1 评论 -
【回溯法】简单装载问题与复杂装载问题
[问题描述]有n个集装箱要装上一艘载重量为W的轮船,其中集装箱i ( 1≤i≤n)的重量为wi。不考虑集装箱的体积限制,现要这些集装箱中选出若干装上轮船, 使它们的重量之和等于W ,当总重量相同时要求选取的集装箱个数尽可能少。对于第i层的某个分枝结点,对应的调用状态是dfs (num, tw, rw, op,i) ,对应的扩展结点有2个:●选择第i个➢op[i]=1 , num=num+1, tw=tw+w[i], rw=rw-w[i],转到下一个状态dfs(num, tw, rw,op..原创 2021-11-23 17:49:27 · 16184 阅读 · 7 评论 -
【回溯法】n皇后问题并输出每种解的情况 C语言版
问题描述:在n×n的方格棋盘上,放置n个皇后,要求n个皇后两两不在一行,不在一列,不在同一对角线上PS:行不用检测,因为皇后本身就是一行一行往下放的,并且一行只能放一个,所以当放好一个皇后后,只需检测列及对角线的位置有无皇后,如下图这些位置思路 【回溯法】1. 从棋盘的第一行开始,依次遍历所有位置,依次判断当前位置是否能够放置皇后,判断的依据为:同该行之前的所有行中皇后的所在位置进行比较,是否在同一列,或者在同一条斜线上(斜线有两条,为正方形的两个对角线)。...原创 2021-11-09 21:49:34 · 5303 阅读 · 1 评论