码迷,mamicode.com
首页 >  
搜索关键字:最优解    ( 1254个结果
动态规划和贪心算法的区别
这是转别人的,待会我会自己总结动态规划和贪心算法的区别动态规划和贪心算法都是一种递推算法 均有局部最优解来推导全局最优解 不同点: 贪心算法: 1.贪心算法中,作出的每步贪心决策都无法改变,因为贪心策略是由上一步的最优解推导下一步的最优解,而上一部之前的最优解则不作保留。 2.由(1)中的介绍,可以...
分类:其他好文   时间:2014-08-21 02:42:53    阅读次数:208
爬山算法和退火算法
爬山算法爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如下图所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点无论向那个方...
分类:其他好文   时间:2014-08-19 22:23:05    阅读次数:442
Dijkstra算法
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其它全部节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但因为它遍历计算的节点非常多,所以效率低。 Dijkstra算法是非常有代表性的最短路算法,在....
分类:其他好文   时间:2014-08-18 15:52:52    阅读次数:143
算法导论第十五章动态规划
概述: 动态规划是通过组合子问题的解而解决整个问题的。 动态规划适用于子问题不是独立的情况,也就是各子问题的包含公共的子子问题。 动态规划对每个子问题只求解一次,将其结果保存在一张表中。 动态规划通常用于最优化问题。 动态规划的设计步骤:a.描述最优解的结构b.递归定义最优解的值c.按自底向上的方式计算最优觖的值d.由计算出的结构构造一个最优解 15.1钢条切割...
分类:其他好文   时间:2014-08-18 14:34:02    阅读次数:367
008-算法-分支界限法
一、概念:与贪婪法一样,这种方法也是用来为组合优化问题设计求解算法的,所不同的是它在问题的整个可能解空间搜索,所设计出来的算法虽然时间复杂度比贪婪算法高,但它的优点是与穷举法类似,都能保证求出问题的最佳解,而且这种方法不是盲目的穷举搜索,而是在搜索中通过界限,可以中途停止对某些不可能得到的最优解.....
分类:其他好文   时间:2014-08-18 14:28:42    阅读次数:247
分支界定法详解
分支界定法是求解整数线性规划最优解的经典方法。定义: 对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系统搜索,这就是分支与界定的内容。通常把全部解空间反复地分割为越来越小的子集,称为分枝;并对每个子集内的解集计算一个目标下界(对于最小值问题),这称为定界。在每次分枝后,若某....
分类:其他好文   时间:2014-08-17 16:46:32    阅读次数:433
HDU 1078 FatMouse and Cheese(DP)
题意  老鼠在一个小镇吃奶酪  城镇可以看成一个n*n的矩阵  其中每个格子都有一定数量的奶酪mat[i][j]   老鼠从(0,0) 开始吃   而且下个吃的格子里的奶酪必须比上个格子多   老鼠只能水平方向或者垂直方向走  而且每次走的距离不能超过k  求老鼠最多能吃多少奶酪 起点是固定的   比较容易   直接记忆化搜索 令d[i][j]表示以(i,j)为终点的最优解  那么对于所有(i...
分类:其他好文   时间:2014-08-17 15:38:12    阅读次数:221
01背包问题
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:其他好文   时间:2014-08-15 14:30:39    阅读次数:116
HDU 1978 How many ways(DP)
题意 中文 但要注意小于你能量的点也是能到达的 令d[i][j]表示到达第i行第j列的方法数 初始化为0 d[1][1]为1 输入一个点的能量t后 枚举这个点能到的所有点(i+x,j+y)(x+y<=t) 有d[i+x][j+y]+=d[i][j] 因为只能向右走和向下走 可以保证每次更新后均为当前最优解 输入最后一个点后 就得到答案了...
分类:其他好文   时间:2014-08-14 10:52:08    阅读次数:195
[LeetCode系列]爬梯问题的递归解法转换为迭代解法
有一个n阶的梯子, 你每次只能爬1阶或2阶, 请问共有多少种登顶的爬法?(正好爬完n阶, 不能多也不能少)本题最优解是直接套用菲波那切数列即可(因为菲波那切数列的第n个元素正好等于第n-1个元素和第n-2个元素的和, 与本题的要求完全相同).递归解法:1 int climbStairs(in...
分类:其他好文   时间:2014-08-12 16:51:44    阅读次数:137
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!