zoukankan
html css js c++ java
从n个数中找出最小的k个数(n >> k),最优平均时间复杂度是?
1.先直接排序,再取排序后数据的前k个数。排序算法用最快的堆排序,复杂度也会达到O(N*logN)。当k接近于N时,可以用这种算法。
2.先排序前k个数,对于后面N-k个数,依次进行插入。时间复杂度为O(k*n)。当k很小时,可以用这种算法。
3.对前k个数,建立最大堆,对于后面N-k个数,依次和最大堆的最大数比较,如果小于最大数,则替换最大数,并重新建立最大堆。时间复杂度为O(N*logk)。当k和N都很大时,这种算法比前两种算法要快很多。
查看全文
相关阅读:
Combox小问题
数据库登录名,用户,角色以及权限分配
UDP初识
AJax 无刷新构建DataTable
批量修改数据库构架SQL
Jquery Ajax
Linq中使用Group By
对象的消息模型
P2P网络技术概览与实现原理
ajax(1)
原文地址:https://www.cnblogs.com/timesdaughter/p/6533094.html
最新文章
2011股市大方向随想
转载中粮集团董事长宁高宁提的13道测试题
day01
科学计算器SCalc 1.0发布
MyHome2011家庭账本发布
CutScr屏幕捕捉2012发布
GRes资源提取器2011.1发布
C#中通过一个对象,得到属性(字符串形式)的值
Silverlight中的变换效果(TransForm,仅介绍难点和注意点)
Silverlight CustomerPanel
热门文章
通俗理解Stretch值
十进制转换为二级制
Silverlight中的RadialGradientBrush
Silverlight中Shape,Geometry
Silverlight自定义导航验证即自定义ContentLoader
web.config中验证的<deny users = "?"/>和<allow users= "*" />有先后顺序只说
SIlverlight中的导航总结
Excel与SQL互导
MySQL
winform异步加载
Copyright © 2011-2022 走看看