码迷,mamicode.com
首页 >  
搜索关键字:治法    ( 992个结果
UVa 10245 - The Closest Pair Problem
题目:最近点对(大数据)。 分析:分治法。首先,将所有点按很坐标排序;然后,利用分治求解。             1.将问题转化为两个相同大小的子区间分别求解;             2.中位点为中心,当前最小距离为半径的区间直接枚举求解;             3.求出上两中情况的最小值返回。 说明:这么经典的题目,今天第一次做。 #include #include #in...
分类:其他好文   时间:2014-07-02 09:41:14    阅读次数:202
算法整理(二)---快速排序的两种实现方式:双边扫描和单边扫描
首先简单谈下快速排序的特点,时间复杂度O(nLog n),最差时间复杂度O(n^2).是一种不稳定的排序方法。基本思想是分治法,这位大大的http://blog.csdn.net/morewindows/article/details/6684558 讲的非常清楚了,分治法+挖坑法,我就不多说了。就是以某个数为参照,使得左边的都小于他,右边的数都大于他。然后对他的左右两个区间采取同样的方法进行递归...
分类:其他好文   时间:2014-07-01 11:07:47    阅读次数:254
分治策略结合递归思想求最大子序列和
对于 《数据结构与算法分析——C语言描述》 一书第 20 页所描述的算法 3,相信会有很多人表示不怎么理解,下面我由具体问题的求解过程出发,谈谈我自己的理解: 首先,什么是分治法呢?所谓 分治法,就是 将一个问题的求解过程分解为两个大小相等的子问题进行求解,如果分解后的子问题本身也可以分解的话,则将这个分解的过程进行下去,直至最后得到的子问题不能再分解为止,最后将子问题的解逐步合并并可能...
分类:其他好文   时间:2014-07-01 11:03:52    阅读次数:169
排序(5)---------快速排序(C语言实现)
快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 步骤为: 1,从数列中挑出一个元素,称为 "基准", 2,重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区操作。 3,递归地把小于基准值元素的子数列和大于基准值元素的子数列排序。 4,递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递...
分类:编程语言   时间:2014-06-30 08:19:12    阅读次数:203
分类中数据不平衡问题的解决经验
问题:研究表明,在某些应用下,1∶35的比例就会使某些分类方法无效,甚至1∶10的比例也会使某些分类方法无效。 (1)少数类所包含的信息就会很有限,从而难以确定少数类数据的分布,即在其内部难以发现规律,进而造成少数类的识别率低 (2)数据碎片。很多分类算法采用分治法,样本空间的逐渐划分会导致数据碎片问题,这样只能在各个独立的子空间中寻找数据的规律,对于少数类来说每个子空间中包含了很少的数据信息...
分类:其他好文   时间:2014-06-29 23:01:55    阅读次数:251
归并排序:二路归并
归并排序(Merge Sort)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。 归并排序的具体做法: 把原序列不断地递归等分,直至每等份只有一个元素,此时每等份都是有序的。 相邻等份合并,不断合并,直至合并完全。 二路归并 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序最常用的是二路归并,即把两个小的有序的序列和并成一个大的有序序列:合二为一...
分类:其他好文   时间:2014-06-27 10:16:41    阅读次数:315
Iterable<T>接口和动态规划
1Iterable接口实现这个接口的对象被允许成为 "foreach" 语句的目标2 动态规划动态规划的基本思想是将待求解的问题分解为若干个子问题,按顺序求解子问题。前一子问题的解,为后一子问题的求解提供了有用的信息。动态规划算法和分治法的基本思想比较类似,区别在于动态规划解决的问题可以分解为重叠子...
分类:其他好文   时间:2014-06-26 12:18:28    阅读次数:226
快速排序的python多种实现
问题 快速排序,这是一个经典的算法,本文给出几种python的写法,供参考。 特别是python能用一句话实现快速排序。 思路说明 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 (1) 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原...
分类:编程语言   时间:2014-06-25 09:02:20    阅读次数:289
程序员必须知道的10大基础实用算法及其讲解
算法一:快速排序算法   快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。   快速排序使用分治法(Divideandconquer)策略来把一个串...
分类:其他好文   时间:2014-06-25 08:29:57    阅读次数:178
十大基础实用算法之归并排序和二分查找
归并排序 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 算法步骤: 1. 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置 3. 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到...
分类:其他好文   时间:2014-06-22 14:22:14    阅读次数:187
992条   上一页 1 ... 94 95 96 97 98 ... 100 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!