码迷,mamicode.com
首页 >  
搜索关键字:贪心算法    ( 835个结果
利用回溯法求解背包问题
最近看完了利用回溯法求八皇后问题,最后成功求解到92种解法,然后在看利用贪心求解背包问题,突然想到其实也可以利用回溯法求解背包问题,本质上回溯法是一个穷举的方式在求. 回溯法求解出的结果肯定是正确的,这也可以验证自己所写的贪心算法的正确性.问题描诉: 设定Wmax为最大重量,W[](0~n-...
分类:其他好文   时间:2014-10-22 23:19:23    阅读次数:313
简单理解算法篇--贪心算法
贪心算法是什么意思?举个例子就很清楚了:现在你有一个能装4斤苹果的袋子,苹果有两种,一种3斤一个,一种2斤一个,怎么装才能得到最多苹果?当然我们人考虑的话当然是拿两个2斤的苹果,就刚好装满了,但是如果按贪心算法拿的话,首先就要把最重的苹果拿下(是不是很符合贪心两个字?),但并没有得到最多苹果。贪心算...
分类:编程语言   时间:2014-10-20 20:57:52    阅读次数:158
算法学习笔记——贪心法
一、基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。所以对所采用的贪心策略一定要仔细分...
分类:编程语言   时间:2014-10-20 17:21:26    阅读次数:201
P1032 合并果子 - Smart Online Judge
本题采用哈夫曼编码的思路,采用贪心算法实现。题目ID:1032题目名称:合并果子有效耗时:4325 ms空间消耗:948 KB程序代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 list lt; 8 9 10 ...
分类:其他好文   时间:2014-10-19 11:26:49    阅读次数:241
SDUTOJ 1298 活动选择
#include #include using namespace std; int a[105],b[105],c[105],d[105]; int main() { int n,i,timestart=0,j,temp,t,t1,k; memset(d,0,sizeof(d)); cin>>n; for(i=1;i>a[i]>>b[i]; c[i...
分类:其他好文   时间:2014-10-16 14:31:32    阅读次数:450
《编程之美》阅读分享
我阅读的课外书籍是《编程之美》,《编程之美》是一本很好的书,作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。在阅读过程中,加深了我对代码的认识,充分享受到了学习和编程的乐趣。以下是我在学习过程中遇到的问题与探索:1、在买书问题中,采取什么样的贪心算法最优?.....
分类:其他好文   时间:2014-10-16 14:16:32    阅读次数:173
贪心算法(Greedy Algorithm)之最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个。这里面充分体现了贪心算法的精髓。大致的流程能够用一个图来表示。这里的图的选择借用了Wikipedia上的那个。很清晰且直观。首先第一步,我们有一张图,有若干点和边例如以下图所看到的:第一步我们要做...
分类:编程语言   时间:2014-10-13 21:00:27    阅读次数:211
五大算法
贪心法( Greedy algorithm),又称贪心算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。 1. 基本概念 贪心算法与动态规划的不同在于它每对每个子问题的解决方案都做出选择,不能回退。动态规划则会保存以前的运算结果,并根据以前的结果对当前进行选择,有回退功能。 所谓贪心算法是指,在对问题...
分类:编程语言   时间:2014-10-13 19:44:47    阅读次数:547
贪心算法(Greedy Algorithm)之最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个。这里面充分体现了贪心算法的精髓。大致的流程能够用一个图来表示。这里的图的选择借用了Wikipedia上的那个。很清晰且直观。首先第一步,我们有一张图,有若干点和边例如以下图所看到的:第一步我们要做...
分类:编程语言   时间:2014-10-11 17:40:45    阅读次数:208
石子合并问题
类型1有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新的一堆石子的数量。设计一个算法,将这N堆石子合并成一堆的总花费最小(或最大)。 此类问题比较简单,就是哈夫曼编码的变形,用贪心算法即可求得最优解。即每次选两堆最少的,合并成新的一堆,直到只剩一堆为止。...
分类:其他好文   时间:2014-10-07 14:15:13    阅读次数:241
835条   上一页 1 ... 74 75 76 77 78 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!