![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
回溯法
回溯法
卡戎一生
这个作者很懒,什么都没留下…
展开
-
【算法导论14】回溯法—运动员最佳配对问题
14回溯法—运动员最佳配对问题问题描述:羽毛球运动员男女各n人,给定两个n x n矩阵P、Q,P[i][j]是男i和女j组成的男运动员优势,Q[i][j]是女i和男j组成的女运动员优势,P[i][j]不一定等于Q[j][i],男i和女j组成的混合双打优势为P[i]][j]和Q[j][i],设计算法计算男女运动员最佳搭配法,使各组男女双方竞赛优势总和达到最大。问题分析:该问题输出为男女人员的搭配问题,由于运动员不能重复选择,因此此问题的解空间树是一个排列树,可以使用排列树回溯法模板进行算法设计。下面原创 2020-10-14 22:52:57 · 3906 阅读 · 0 评论 -
【算法导论13】回溯法—最小重量机器设计问题
13回溯法—最小重量机器设计问题问题描述:一个机器有n个零部件组成,每个零部件可以在 m 个不同供应商处获得,不同供应商 i 的不同零件 i 有两个参数,重量 wij,价格 cij,设计算法给出在价格不超过 c 时,最小重量的机器购买设计。问题分析:此问题属于类01背包问题,即在某个变量的限制条件下,另一个变量的最优值问题。首先考虑问题输出,应该为每个零件的供货商编号,如果设为x[i],则此算法最终输出为x[i]的遍历,其中i为第i件零件。现在考虑回溯法的解空间树,因为每个商品可以从m个供货商获原创 2020-10-14 21:50:02 · 1554 阅读 · 1 评论 -
【算法导论11】回溯法-符号三角形问题
【11回溯法-符号三角形问题】问题描述:给定一个数字n,求出符合符号三角形的三角形个数,符号三角形的定义为:由+ - 符号构成的倒三角形,同号下方为+,异号下方为-,且+号数量=-号数量的三角形。问题分析:1 该三角形每行个数依次递减,所以总数是等差数列,S = (1+n)*n/2。2 三角形的总数S一定为偶数。3 正负符号的个数一定为S/2。(可行解)4 每个部分符号三角形一定满足:正或负符号个数<S/2。(剪枝函数)算法分析1 首先,分析如果单纯构成全为+的符号三角形如何用递归原创 2020-08-24 22:46:29 · 2424 阅读 · 0 评论 -
【算法导论07】回溯法-旅行售货员问题
07回溯法-旅行售货员问题**问题描述:**已知有m个城市,城市之间由n条不同长度的道路相连。一个售货员从一座城市出发,途径所有城市,并最终回到原点,设计算法计算售货员所走的最短路径结点。**问题分析:**从问题不难看出,此问题属于图中的最小哈密顿图问题。最直接的方法便是遍历找出所有能走完全部结点的道路,并选择其中最短的一条路作为答案。已知图的遍历方式有两种,深度遍历和广度遍历。而排列算法有perm算法,因此此处使用深度遍历+perm算法来寻找最小哈密顿图,这两种算法的组合便是回溯法:通过深度搜索来寻找原创 2020-07-31 20:25:02 · 10270 阅读 · 0 评论 -
【算法导论06】递归算法-perm算法
06递归算法-perm算法问题描述:给定一个含有n个数字的序列,设计算法对该序列进行全排列。思路分析:对n个数字序列进行全排列,最简单的思考方式是将n个数字依次作为序列的开头,得到n个n维序列,并对每个序列的第2个数到第n个数字进行全排列,由此产生递归。算法分析:将数字序列存放于数组A[N]中,每次交换A[0]与Ai,然后对A[1]到A[n-1]序列进行全排列。为了方便,设置参数p,q,表示从p到q的全排列,则每次交换A[p]与A[i],并对剩下序列A[p+1]到A[q]进行全排列,即可完成一次原创 2020-07-29 22:26:26 · 1908 阅读 · 0 评论