码迷,mamicode.com
首页 >  
搜索关键字:治法    ( 992个结果
理解动态规划、分治法和贪心法
动态规划、分治法和贪心法都是利用求解子问题,而后利用子问题求解更上层问题,最终获得全局解决方案的方法。但是三者的应用场景和性质却存在着极大的不同:1.分治法很容易与动态规划问题混淆,但两者却有着本质上的差异。分治法采用的是递归的思想来求解问题,两个分解的子问题独立求解,其之间无任何的重叠。而上一层问...
分类:其他好文   时间:2014-11-01 23:11:55    阅读次数:275
归并排序
归并(Merge)排序是将两个(或两个以上)有序表合并成一个新的有序表, 即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。 归并排序是建立在归并操作上的一种有效的排序算法。 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。...
分类:编程语言   时间:2014-11-01 17:53:27    阅读次数:243
动态规划算法
动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。与分治法不同的是,动态规划算法对每个子子问题只求解一次,将其结果保存在一张表中。 动态规划通常应用于最优化问题。 动态规划算法的设计可以分为如下4个步骤: 描述最优解的结构;递归定义最优解的值;按自底向上的方式计算最优解的值;由计算结果构造一个最优解。 第1~3步构成问题的动态规...
分类:编程语言   时间:2014-11-01 13:33:27    阅读次数:210
二分查找
二分查找(Binary Search)算法使用了分治法(Divide and Conquer)来不断缩小查找范围,并充分利用已知的信息将查找时间复杂度降低到 O(logn)。
分类:其他好文   时间:2014-11-01 00:49:49    阅读次数:394
[Java 8] Lambda表达式对递归的优化(下) - 使用备忘录模式(Memoization Pattern)
使用备忘录模式(Memoization Pattern)提高性能 这个模式说白了,就是将需要进行大量计算的结果缓存起来,然后在下次需要的时候直接取得就好了。因此,底层只需要使用一个Map就够了。 但是需要注意的是,只有一组参数对应得到的是同一个值时,该模式才有用武之地。 在很多算法中,典型的比如分治法,动态规划(Dynamic Programming)等算法中,这个模式运用的十分...
分类:编程语言   时间:2014-10-30 10:23:31    阅读次数:207
[Java 8] Lambda表达式对递归的优化 - 使用尾递归
递归优化 很多算法都依赖于递归,典型的比如分治法(Divide-and-Conquer)。但是普通的递归算法在处理规模较大的问题时,常常会出现StackOverflowError。处理这个问题,我们可以使用一种叫做尾调用(Tail-Call Optimization)的技术来对递归进行优化。同时,还可以通过暂存子问题的结果来避免对子问题的重复求解,这个优化方法叫做备忘录(Memoizatio...
分类:编程语言   时间:2014-10-29 10:54:45    阅读次数:395
常用算法之分治法与动态规划法
分治,即分而治之,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。...
分类:编程语言   时间:2014-10-28 15:33:02    阅读次数:194
常用算法之动态规划法
动态规划法和分治法类似,它也是将大问题分解成子问题求解,求最优解,不同的是,如果分解的子问题有很多是相同的,采用分治法相同的子问题会求解多次,很影响效率;动态规划法呢,它会保存已解决的子问题的答案,再有相同的子问题直接用保存的答案就行了,节省了很多计算时间。...
分类:编程语言   时间:2014-10-28 15:32:58    阅读次数:172
归并排序
先说一下,这个归并排序是我自己的一些想法。简单地浏览了一下书本(《算法:C语言实现》(第三版)),实现方法并不一致。但是这个算法我测试了一下,还行。归并排序:分治法的思路。把一个待排序的数组(arr)分成两半(arrA和arrB)进行归并排序。在归并排序的过程中,arrA再分成两半……这个过程直到子...
分类:编程语言   时间:2014-10-26 22:35:26    阅读次数:341
白话经典算法系列之六 高速排序 高速搞定
高速排序因为排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被採用,再加上高速排序思想----分治法也确实有用,因此非常多软件公司的笔试面试,包含像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序...
分类:编程语言   时间:2014-10-26 19:43:17    阅读次数:205
992条   上一页 1 ... 85 86 87 88 89 ... 100 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!