logo头像

不忘初心,奋力前行

汉诺塔问题

汉诺塔问题有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆环,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。 提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回...

鸡尾酒排序问题

题目解释鸡尾酒排序问题实际上是冒泡排序的一个改进。冒泡排序是一个单向的递增或者递减的交换排序,而鸡尾酒排序则是双向的,也就是说,如果我们以要求一个数组有n个数字从小到大排序,则: 第一趟是正向排序,选出第n个值(最大值); 第二趟是...

线性规划2

圆桌问题X集合中的点到Y集合中的每个点都有连线,所有连线容量都是1,保证两个点只能匹配一次(一个餐桌上只能有同一个单位的一个人)。这种在一个二分图中每个结点可以有多个匹配结点的问题称为二分图多重匹配问题。求解时需要添加源点和汇点,源和...

线性规划1

线性规划问题遇到一个线性规划问题,该如何解决呢? 确定决策变量。 确定目标函数。 找出约束条件。 求最优解。 一般线性规划问题可以表示为如下形式。 约束条件为: 变量满足约束条件的一组值成为线性规划问题的一个可行解。 所有可...

动态规划

关于最长公共子序列(LCS)最长公共子序列和最长公共子串是有区别的,之前我一直把它们混淆。 最长公共子串举例:假设S1={A,D,C,B,E,X,Q},S2={H,P,D,C,B,E,M,L}那么它们的最长公共子串就是{D,C,B,...

分支限界法

广度优先广度优先搜索,其实就是层次遍历,程序采用队列来实现。 算法思想从根开始,常以BF或以最小耗费(即最大收益)优先的方式搜索问题的解空间树。首先将根结点加入活结点表,接着从活结点表中取出根结点,使其成为当前扩展结点,一次性生成其所...

回溯法

回溯法回溯法的思想是:能进则进,进不了换,换不了退。隐约束指对能否得到问题的可行解和最优解做出的约束。隐约束包括约束函数和限界函数。关键步骤是: 定义解空间; 确定解空间的组织结构(子集树、排列数、m叉树等); 搜索解空间。 回溯...