从算法的实现向算法的设计转变,提供解决问题的思路1.贪心算法一种局部最优算法设计思路,思想是保证每一步选择在当前达到最优。一个很常见的贪心算法案例是零钱找取问题。调度问题:书上的调度问题比较简单,其目标是所有作业的平均持续时间(调度+运行)最短,无论是但处理器还是多处理器,最优解的方案总是按作业的长...
分类:
编程语言 时间:
2014-11-04 17:00:22
阅读次数:
372
园子里有很多关于点是否在三角形内的文章,提供了各种方法。这让人很纠结,到底该用哪种算法?这里提供一套我认为最优的算法。如果你有不同的意见,亦或有更好的算法,欢迎来讨论。 算法使用的是同向法,其原理是:假设点P位于三角形ABC内,会有这样一个规律:三角形的每一个边,其对角点与P在边的同一侧;或者...
分类:
编程语言 时间:
2014-10-31 13:41:31
阅读次数:
254
快速排序作为排序算法中的战斗机,一直是排序算法里面用的最多也是考的最多的一个算法已经证明,对n个元素进行排序,最优的算法也是需要NLogN的时间复杂度,而快速排序的时间复杂度就是NlogN,所以快速排序是排序算法中最优算法中的一个,下面我们继续来探索一下神奇的快速排序算法吧快速排序的核心思想:每次排...
分类:
编程语言 时间:
2014-10-22 23:30:28
阅读次数:
268
同时寻找最大数和最小数的最优算法以及寻找最大的两个数所需的最少比较次数...
分类:
其他好文 时间:
2014-09-26 02:03:58
阅读次数:
267
问题描述:有两个整数序列a, b,大小都为n, 序列元素的值任意整数,无序。要求:通过交换a, b 中的元素,使得sum(a)-sum(b),差最小。例如:var a=[80, 40, 60, 10, 20, 30];var b=[10, 20, 50, 40, 30, 20];分析:近似最优算法:...
分类:
其他好文 时间:
2014-09-01 13:59:43
阅读次数:
305
本文介绍从无序数组中选择最大值和最小值的最优算法。进而介绍采用快速排序思想的 RANDOMIZED-SELECT 选择算法来查找给定位置 i 的值,或获取中位数(median)。快速排序会递归地处理划分的两边,而 RANDOMIZED-SELECT 则只处理一边。所以快速排序的期望运行时间是 Θ(n...
分类:
其他好文 时间:
2014-07-24 04:58:28
阅读次数:
355
例题:1022: 菜鸟和大牛(csuoj)像这一类问题,首先不管是属于什么类型的,如果是按照题目的思路一步步走下来,然后运行,最后肯定是要超时的,究其原因,它的时间复杂度很不合理,最后是呈现指数增长的方式的。ACM本来就是研究最优算法的,所以不管结果如何,这个方法绝对不是优先选择的。然后通过由下向上...
分类:
其他好文 时间:
2014-07-22 22:48:53
阅读次数:
194
朋友曾经给我推荐了一个有关代码优化的pdf文档《让你的软件飞起来》,看完之后,感受颇深。为了推广其,同时也为了自己加深印象,故将其总结为word文档。下面就是其的详细内容总结,希望能于己于人都有所帮助。速度取决于算法同样的事情,方法不一样,效果也不一样。比如,汽车引擎,可以让你的速度超越马车,却无法...
分类:
其他好文 时间:
2014-07-09 19:55:53
阅读次数:
151
贪婪法(Greedy)又叫登山法,它的根本思想是逐步到达山顶,即逐步获得最优解,是解决最优化问题时的一种简单但适用范围有限的策略。“贪婪”可以理解为以逐步的局部最优,达到最终的全局最优。...
分类:
其他好文 时间:
2014-05-11 06:34:39
阅读次数:
1444