码迷,mamicode.com
首页 >  
搜索关键字:归并排序 二分查找    ( 5560个结果
《算法之道》精华 经典算法部分
《算法之道》精华 经典算法部分 本书作者绉恒明,作者另有一本书《数据结构之弦》,以及《操作系统之哲学原理》都是很好的书这本书可以算得上是深入浅出,文笔很好,作者添加了很多自己的思考本文包括经典算法部分 第十章 排序与次序 插入排序 从无序部分抽取一张插入有序部分为原地排序,无需占用临时存储空间最优情况下为O(n),平均O(n^2) 折半插入排序 插入时使用二分查找 归...
分类:其他好文   时间:2014-08-09 11:36:47    阅读次数:238
归并排序算法一窥
归并排序法是一个基于分治法的比较排序方法,其最差情况复杂度为O(nlogn),而快速排序法的复杂度在最差情况下达到O(n2)本文使用PHP来讨论其算法过程:假设对乱序数列进行排序 $input = array(11,5,1,4,8,7,9,2);思路可以表示:(图是PPT画的,比较简单,请看官见谅)...
分类:其他好文   时间:2014-08-09 11:20:37    阅读次数:398
8.8 冒泡排序 选择排序 二分查找 递归使用
冒泡排序:#include #include #include #define N 100000#define M 100000void show_arr(int * a,int n){ int i; for(i = 0; i a[j+1]) { temp = a[j]; a[j] = a[j+1]...
分类:其他好文   时间:2014-08-09 00:00:36    阅读次数:357
待字闺中之四个数的和
盒子中有n张卡片,上面的数字分别为k1,k2,...,kn。你有4次机会,每抽一次,记录下卡片上的数字,再将卡片放回盒子中。如果4个数字的和等于m。则你就赢得游戏,否则就是输。直觉上,赢的可能性太低了。请你给出程序,判断是否有赢的可能性。尽量提高方法的效率。 分析:这个题目,和之前Google的一个概率的题目是类似的,当然解决的方法也是类似的,思路大家可以找找前面的题目,不再赘述。这个题目其...
分类:其他好文   时间:2014-08-08 16:10:16    阅读次数:215
HDU 4911 Inversion(基本算法-排序)
HDU 4911 Inversion(基本算法-排序) 题目大意: 有n个数,问你经过K次交换后的逆序数最少多少个? 解题思路: 根据排序的思想,每一步都能减少1个逆序数,所以K步之多减少K个逆序数。 因此,这题转化为了求逆序数,数据量略微大,用归并排序即可。...
分类:其他好文   时间:2014-08-08 12:58:36    阅读次数:228
D - Babelfish
Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand...
分类:其他好文   时间:2014-08-08 12:47:45    阅读次数:296
The ? 1 ? 2 ? ... ? n = k problem UVA 10025
说说:这道题初看完全不知道如何下手,但最终也不过就是个二分查找而已,其实不用二分也行,从1开始遍历从显示的结果来看花费的时间是一样的。首先,讨论N是正数的情况。很明显这是个等差数列求和的问题,当总和任然小于N的时候,那么显然此时的n还不够大。当然若直接等于N了,那输出答案就好了。如果最后总和大于N了,但两者之差为奇数,这显然是不行的,因为把序列中任何一个数变为其相反数,那总和都相当于减去一个偶数。所以此时n需要进一步变大,直到两者的差为偶数。最后将序列中的某些正号变为负号,不过具体的我们不用管,问题就解决啦...
分类:其他好文   时间:2014-08-07 15:48:20    阅读次数:232
java数据结构学习(一)之二分查找
二分查找法与我们在孩童时期玩过的猜数的游戏一样,这个游戏里一个朋友会让你猜他正想的一个1至100的数,当你猜了一个数后,他会告诉你三种选择的一个:你猜的比她想的大,或小,或猜中了。为了能用最少的次数猜中,必须从50开始猜,如果她说你猜的太小,则推出那个数在51-100之间,所以下一次猜75((51....
分类:编程语言   时间:2014-08-07 12:43:29    阅读次数:234
Atitit.现实生活中最好使用的排序方法-----ati排序法总结
Atitit.现实生活中最好使用的排序方法-----ati排序法总结   1. 现在的问题 1 2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置  )//归并排序//基数排序 1 3. 选择排序法  (垃圾...不好使用) 2 4. 堆排序-(雅十垃圾...不好用) 2 5. 希尔排序法 (雅十垃圾...不好用) 3 6. 冒泡排序法 (雅十垃圾......
分类:其他好文   时间:2014-08-07 00:53:17    阅读次数:253
算法题:求数组中最小的k个数
题目:输入n个整数,找出其中最小的k个数。 《剑指offer》给出了两种实现算法: 算法1:采用Partition加递归法,该算法可以说是快速排序和二分查找的有机结合。算法的时间复杂度为O(n),缺点在于在修改Partition的过程中会修改原数组的值。 算法2:采用top-k算法。如果要找最小的K个数,我们才用一个含有K个值的大顶堆;如果要找最大的K个数,我们采用小顶堆。该算法的时间复杂度为O(nlogK),是一种比较好的算法,启发于堆排序。...
分类:其他好文   时间:2014-08-06 23:04:12    阅读次数:333
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!