贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法还是比较好理解的一个算法,以前我也是这样认为的,感觉贪心就是每一步都做到最优解就可以了,但是后来结合问题发现自己的理解存在着一些问题。贪心算 ...
分类:
编程语言 时间:
2018-05-02 02:50:49
阅读次数:
187
问题描述:现存在一堆面值为 1,2,5,11,20,50 面值的硬币,问最少需要多少个硬币才能找出总值为N个单位的零钱。 解决这个问题其实也可以考虑使用贪心算法,每次使用面值最大的硬币,不足部分再用小额硬币补充。以兑换63元为例,可选择的硬币和方案为50+11+2。但是,使用贪心算法只能保证每一步取 ...
分类:
其他好文 时间:
2018-04-24 23:17:59
阅读次数:
198
归并排序的核心操作,是将两个有序数组归并成一个更大的有序数组。 在这种思想下,通过递归的方式进行处理,就得到了归并排序。 首先我们写一个用来将两个有序数组归并(合并)为一个大数组的方法。 这就是归并(合并)的核心算法,比较容易理解。 现在我们调用一下这个方法: 输出的结果为:0 1 2 3 4 5 ...
分类:
编程语言 时间:
2018-04-13 22:36:54
阅读次数:
280
问题描述: 具体可参考:https://blog.csdn.net/liufeng_king/article/details/8497607 代码如下: 可结合我的另一篇关于贪心算法的博客进行比较,了解这两者的区别; (http://www.cnblogs.com/zf-blog/p/8674932 ...
分类:
编程语言 时间:
2018-04-09 21:49:59
阅读次数:
432
贪心算法一直都知道,可是原来可以代码这么写还是第一次,原谅我心情有点小激动; 酷。。。 题目的大概意思就是找最少需要多少硬币,为方便操作,已经把操作的数据放于数组 //个人感觉最有价值的地方是合理使用的min函数与通过吧v和c数组来控制可取的最少硬币数 ...
分类:
其他好文 时间:
2018-04-07 13:53:56
阅读次数:
137
注意:这是背包问题,而不是0-1背包问题,背包问题可以用贪心算法进行求解,但0-1无法用贪心算法求解,需要用动态规划算法求解; 首先对贪心算法做一下总结,以及它与动态规划算法的区别: 贪心算法两个最重要的性质: (1)贪心选择性质; (2)最优子结构性质; 其中,贪心选择性质:自顶向下进行决策,每次 ...
分类:
编程语言 时间:
2018-03-30 12:15:06
阅读次数:
293
如果掌握了一个图的tree decomposition,那么怎么扩展到两个图上?从而用:1)两个treewidth 2)统一的treewidth为参数来解决multi-layer graph上的np-hard问题。 给定两棵树,在每一棵上“顶点覆盖”都是P的,如何求两棵树共同的“最小顶点覆盖”?贪心 ...
分类:
其他好文 时间:
2018-03-28 20:33:21
阅读次数:
810
前沿:有时候我们的android项目会有核心算法或代码,一般这种情况会把算法(cpp文件等)打成so文件,把代码进行整理打成jar包或aar包;今天我们就来讨论怎样把算法打成so文件,怎样把关键代码打成jar包。 怎样把算法封装成so文件?首先我们知道算法是C语言写的,这里我们用jni来完成项目与算 ...
分类:
移动开发 时间:
2018-03-19 22:17:15
阅读次数:
549
问题描述:一个有限时间中尽可能多的开很多会议。每个会议有开始时间和结束时间。设计出一种算法,得出在已知的各个会议中选出会议,使在这段时间中开的会议最多。 数据结构:结构体: struct Meet{ int number; int begin; int end;}; 代码: #include<ios ...
分类:
其他好文 时间:
2018-03-19 15:25:05
阅读次数:
147
前言 之前做过一个JavaScript版本的2048游戏,最近在学习C++,昨天晚上突然心血来潮,想用C++来实现,因为核心算法已十分理解,所以两个小时撸出来一个C++的简易版本。 简介 二维数组遍历,C++基本数据类型,string类,控制结构,函数。 本方法不涉及指针以及面向对象思想,所以可作为 ...
分类:
编程语言 时间:
2018-03-17 00:40:19
阅读次数:
188