分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排...
分类:
其他好文 时间:
2014-07-31 20:44:17
阅读次数:
287
大常用算法之二:动态规划算法一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解...
分类:
其他好文 时间:
2014-07-31 20:40:27
阅读次数:
169
快速排序是1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称为分治法(Divide-and-Conquer Method)。分治法的基本思想:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的基本思想:设当前待排...
分类:
其他好文 时间:
2014-07-31 19:37:57
阅读次数:
184
前言: 分治法是将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解而得到原问题的解。 动态规划(Dynamic Programming)是通过组合子问题的解而解决整个问题。它适用于子问题不是独立的情况,也就是各个子问题包含公共的子问题。在这种情况下,若用分治法会做许多不必要的工.....
分类:
其他好文 时间:
2014-07-27 10:26:42
阅读次数:
353
归并排序是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and Conquer)的一个很典型的应用。首先考虑下怎样将将二个有序数列合并。这个很easy,仅仅要从比較二个数列的第一个数,谁小就先取谁,取了后就在相应数列中删除这个数。然后再进行比較,假设有数列为空,那直接将还有...
分类:
其他好文 时间:
2014-07-24 22:33:52
阅读次数:
144
一 基本概念分治法,顾名思义分而治之的意思,就是把一个复杂的问题分成两个或很多其它的同样或相似的子问题,再把子问题分成更小的子问题……直到最后子问题能够简单的直接求解,原问题的解即子问题的解的合并。二基本思想及策略分治法的设计思想是:将一个难以直接解决的大问题,切割成一些规模较小的同样问题,以便各个...
分类:
其他好文 时间:
2014-07-23 12:37:56
阅读次数:
209
1. 归并排序(MERGE SORT)、快速排序(QUICK SORT)和堆积排序(HEAP SORT)哪个排序算法效率最高?这要看情况。这也就是我把3种算法放在一起讲的原因,可能你更常用其中一种,不过它们各有千秋。归并排序算法,是目前为止最重要的算法之一,是分治法的一个典型应用,由数学家John ...
分类:
其他好文 时间:
2014-07-22 22:46:15
阅读次数:
180
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后...
分类:
其他好文 时间:
2014-07-22 22:44:33
阅读次数:
209
上一节,我们讨论了01背包问题,说明了*递归与分治法 与 动态规划DP的区别和联系,介绍了缓存的概念*。以下,我们用DC、DP、cache分别表示分治法、动态规划和缓存。本节,我们讨论01背包的另外两种形似——
完全背包和多重背包问题,分析DP问题的另外一些情况。
例一:完全背包问题
同样有n种价值和重量分别为weight[i] and value[i], 背包大小W。限制条...
分类:
其他好文 时间:
2014-07-21 15:18:15
阅读次数:
295
归并排序是另一种运用分治法排序算法。与快速排序一样,它依赖于元素之间的比较来排序。但是,归并排序需要额外的存储空间来完成排序过程。
同样可以用分治法的思想将排序分为三个步骤。
分:将数据集等分为两半。治:分别在两个部分用递归的方式继续使用归并排序法。合:将分开的两个部分合并成一个有序的数据集。
归并排序与其他排序最大的同步在于,它的归并过程。这个过程就是将两个有序的数据集合并成一个有序的...
分类:
其他好文 时间:
2014-07-20 22:35:13
阅读次数:
283