Re: [问题] 给定n个排好序的整数阵列 找中位数

楼主: FRAXIS (喔喔)   2014-10-17 19:40:27
※ 引述《DJWS (...)》之铭言:
: FRAXIS 这是你的文章吗?
: http://algnotes.wordpress.com/2014/10/09/
哈,被发现了。
: 看完这个我就想通了
: 行列已排序的阵列,可以用阶梯状移动的方法找rank(做partition),O(n)
: 只有行排序的阵列,可以用 n 次 binary search 找 rank (做partition),O(n log n)
: 所以是 O(log n) 回合没错
: 行列已排序是 O(n logn)
: 只有行排序是 O(n logn logn)
其实我之前还想到一个变形,就是给定常数个排序阵列找第 k 位。
如果套用行排序的方法,会需要O(lg^2 n)。
但是我们知道两个阵列找中位数只需要O(lg n)的时间。
不过如果用我之前说的方法,找中位数就只需要O(lg n)的时间了。
: 最后我还是想问,学术界有人做过这个题目吗?
: 还是说文章中的 reference paper 就是这个方法?
: 我想整理到算法笔记上面
那篇paper是讲行列排序时O(n)的方法。
只有行排序的方法,我也有找到一些资料。
http://algnotes.wordpress.com/2010/05/30/finding-median-in-3-arrays/
楼主: FRAXIS (喔喔)   2014-10-17 20:16:00
或许在http://cstheory.stackexchange.com/ 问会有答案..
作者: hcsoso (索索)   2014-10-17 23:49:00
cstheory 上已经有人问过了:http://cstheory.stackexchange.com/q/20944/1800
楼主: FRAXIS (喔喔)   2014-10-18 03:47:00
感谢.. 我没有完整的搜寻

Links booklink

Contact Us: admin [ a t ] ucptt.com