首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Top K 有关问题

2012-12-26 
Top K 问题现在有这么个问题请教大家,比如我有很多个整数,然后我想通过抽样的方法计算出比如top 100最大的

Top K 问题
现在有这么个问题请教大家,比如我有很多个整数,然后我想通过抽样的方法计算出比如top 100最大的数,当然这个返回的结果越精确越好,请问各位大侠有什么好方法么 多谢。
[解决办法]

引用:
看看这个,理论上可行
先求得总体大小n,研究一下分布情况.以均匀分布为例
n个数任取一个是TOP100的概率为100/n,于是第一次取n/100大小的样本,选中其中最大的认为是TOP100.把该数从总体中删除.
n-1个数任取一个是TOP99的概率为99/(n-1),于是第二次取(n-1)/99大小的样本,选中其中最大的认为是TOP99.把该数从总体中删除.
如此反复100次,理论上取得的……


问题是你这N个数字取最大值的时候还是会有算法的效率问题

用个二叉树算好了还是   二叉树排序完了 然后直接取吧。。。。。。。。

热点排行