归并排序是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and
Conquer)的一个很典型的应用。首先考虑下怎样将将二个有序数列合并。这个很easy,仅仅要从比較二个数列的第一个数,谁小就先取谁,取了后就在相应数列中删除这个数。然后再进行比較,假设有数列为空,那直接将还有...
分类:
其他好文 时间:
2014-06-11 21:52:36
阅读次数:
289
分治算法
一、基本概念
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……
任何一个可以用计算机求解的...
分类:
其他好文 时间:
2014-06-04 14:10:55
阅读次数:
344
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and
Conquer)的一个非常典型的应用。 归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。
归并操作步骤如下:(两个有序序列分别用A[aMax]、B...
分类:
其他好文 时间:
2014-06-02 01:19:11
阅读次数:
349
5类算法小结:
递归与分治法, 动态规划, 贪心算法, 回溯法, 分支界限法...
分类:
其他好文 时间:
2014-06-01 13:59:44
阅读次数:
269
第一种实现是以O(N3) 即以n的三次方实现的,这个算法很简单,想法特别明显第二种以O(N2)
即以n的二次方实现,算法简单,但是仍然不够好第三种 O(N*log(N))
,以n乘以log(N),采取分治法解决问题,当然也采取了递归的思想。第四种O(N),这个方法就无敌了,线性时间,如果数组是在磁盘...
分类:
其他好文 时间:
2014-05-28 22:43:28
阅读次数:
295
最近复习算法,感到有一丝丝忘记的困惑,赶紧记下来。。。一、分治法
分治法的思想就是“分而治之”,很明显就是将规模比较庞大、复杂的问题进行分治,然后得到多个小模块,最好这些小模块之间是独立的,如果这些小模块之间耦合性比较大的话,需要多次计算重复的问题,从而出现了冗余,这种情况下,可以利用动态规划法.....
分类:
编程语言 时间:
2014-05-25 14:08:40
阅读次数:
400
初期:
一.基本算法:
(1)枚举. (poj1753,poj2965)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
(5)构造法.(poj3295)
(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)
二.图算法:
...
分类:
其他好文 时间:
2014-05-25 01:58:06
阅读次数:
247
{1,2,3}子集合的个数,有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},求n个元素组成的集合,m个元素组成的子集合的个数。
如上例,3个元素由其中2个组成的子集合有3个。...
分类:
其他好文 时间:
2014-05-24 19:29:37
阅读次数:
255
分治法,分而治之,基本思路:分,解,和。
初探分治之快速排序。...
分类:
其他好文 时间:
2014-05-21 15:34:37
阅读次数:
237
一 基本概念
分治法,顾名思义分而治之的意思,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
二基本思想及策略
分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
分治策略是:对于一个规模为n的问题,若该问题可以容易地解...
分类:
其他好文 时间:
2014-05-18 14:31:14
阅读次数:
331