码迷,mamicode.com
首页 >  
搜索关键字:中位数    ( 1114个结果
两个有序数组的中位数 【算法】
有两个有序数组A和B,设计算法求出A和B的中位数。情况1. 数组A、B长度相等,设为n。1)分别计算A和B的中位数m1和m2。2)比较m1和m2。如果m1等于m2,那么最终结果就是m1(m2)。3)如果m1大于m2,那么中位数必定在和两个子数组中。4)如果m1小于m2,那么中位数必定在和两个子数组中...
分类:编程语言   时间:2015-03-31 14:13:57    阅读次数:203
双堆求中位数
双堆求中位数 算法描述: 1、创建两个堆(一个小根堆、一个大根堆),堆大小至少为给定数据个数的一半,向上取整; 2、假定变量mid用来保存中位数,取定第一个元素,赋值给mid,即作为初始的中位数; 3、依次遍历后面的每一个数据,如果比mid小,则插入大根堆;否则插入小根堆; 4、如果大根堆和小根堆上的数据个数相差为2,则将mid插入到元素个数较少的堆中,然后从元素个数较多的堆中删除根节点,并将跟节点赋值给mid; 5、重复步骤3和4,直到所有的数据遍历结束; 此时,mid保存了一个数,再加上两...
分类:其他好文   时间:2015-03-31 10:50:03    阅读次数:140
Erlang和C实现O(n)复杂度求中位数
方法类似于快速排序,只是它只处理单侧的情况。 Erlang:这里对于奇数和偶数都是求下中位数find_median([]) ->error; find_median(A) ->find_median(A,(len(A)+1) div 2). find_median([H|T],Idx) ->Len=len([X||X<-T,X<H]),...
分类:其他好文   时间:2015-03-31 00:52:47    阅读次数:117
Java集合中二分查找算法实现
Java集合中二分查找算法实现 Arrays.binarySearch实现了对有序数组特定区间的二分查找,虽然我们觉得很简答,但是阅读源码的确能看到实现这些库的优秀技巧,总是在追求完美和高效。 值得学习的地方有: (1)边界检查; (2)求中位数的时候使用位移操作,而不是 x/2; (3)如果查找的元素不在数组中,通过返回值昭示了应该插入的位置,而不是直接返回-1;...
分类:编程语言   时间:2015-03-30 18:50:14    阅读次数:165
Moo University - Financial Aid (poj 2010 优先队列 或者 二分)
题意:从C有奶牛中选N头,给出它们的分数scores和资助aid,要是这N头牛的总资助不超过F,同时它们中分数的中位数最大。求这个最大的中位数。 思路:按照分数排序,枚举每头牛作为中位数,计算牛i前面N/2头牛的最小资助和后面N/2牛的最小资助(用到优先队列)。最后从后往前找第一个满足l[i]+r[i]+cow[i].second<=F的即为答案。...
分类:其他好文   时间:2015-03-21 17:13:09    阅读次数:247
poj 1723 SOLDIERS 中位数
题意: 给n个士兵的坐标,要把他们移动到水平且相邻的一行,求最小步数。 分析: 中位数法,y方向易求,x方向x0->n+i与x0-i->n是对应的,故也可以转换成y方向的情况。 代码: //poj 1723 //sep9 #include #include using namespace std; const int maxN=10024; int x[maxN],y[maxN]; ...
分类:其他好文   时间:2015-03-19 20:22:24    阅读次数:131
UVa 10290 - {Sum+=i++} to Reach N
题目:给你一个数字问将他写成连续的数字的和的形式,有几种写法。 分析:数论。设拆成的序列个数为k,我们分两种情况讨论:             1.拆成奇数个连续数,那么设中位数是a,则有n = k * a;             2.拆成偶数个连续数,那么设中位数是a与a+1,则有n = k / 2 *(a+a+1);             综上所述,本问题就是将n拆成2个数的乘积的...
分类:其他好文   时间:2015-03-19 16:30:48    阅读次数:104
算法导论-中位数和顺序统计量
在一个由n个元素组成的集合中,第i个顺序统计量是该集合中第i小的元素。一个中位数是它所属集合的“中点元素”。当n为奇数时,中位数是唯一的,位于i=(n+1)/2处;当n为偶数时,存在两个中位数,分别位于i=n/2和i=n/2+1处。如果不考虑n的奇偶性,中位数总是出现在i=?(n+1)/2?处(下中...
分类:编程语言   时间:2015-03-19 16:13:17    阅读次数:187
10G 个整数找出中位数,内存限制为 2G
题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。关于中位数:数据排序后,位置在最中间的数值。即将数据分 成两部分,一部分大于该数值,一部分小于该数值。...
分类:其他好文   时间:2015-03-17 21:37:19    阅读次数:112
求无序数组的中位数
中位数即是排过序后的处于数组最中间的元素。 不考虑数组长度为偶数的情况。设集合元素个数为n。简单的想了下:思路1) 把无序数组排好序,取出中间的元素 时间复杂度 采用普通的比较排序法O(N*logN) 如果采用非比较的计数排序等方法, 时间复杂度 O(N), 空间复杂度也是O(N).思路2) 2.1...
分类:编程语言   时间:2015-03-17 21:34:15    阅读次数:185
1114条   上一页 1 ... 95 96 97 98 99 ... 112 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!