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都很大时,这种算法比前两种算法要快很多。
查看全文
相关阅读:
JOIN中的外连接(external join)
将流数据输出到Mysql中
updataStateByKey算子的使用
RDD算子的使用
sparkstreaming 黑名单过滤
sparkSQL中的example学习(3)
sparkSQL中的example学习(1)
sparkSQL中的example学习(2)
shuffle调优
回形取数
原文地址:https://www.cnblogs.com/timesdaughter/p/6533094.html
最新文章
移动端适配思路
momentjs在vue中的用法
element-ui修改表单自带验证的样式
webpack中使用jquery
vue中点击按钮复制内容
element-ui的form表单样式改动
element-ui的表单验证this.$refs[formName].validate的代码不执行
element-ui的tag组件关闭事件失效的原因
路由原理,模块化原理资料收集汇总
记录Javascript集合操作
热门文章
记录Html+Css流程表格
记录Javascript数组的方法参考
记录display:table的使用
记录未预编译文件“*.aspx”,因此不能请求该文件的几种处理办法
记录Nginx实现内容重定向的两种方式:rewrite和反向代理
记录Nginx代理的配置
记录Nginx作为静态资源web服务场景配置
记录SoapUI使用说明
记录Nginx常用命令
数据仓库学习小结
Copyright © 2011-2022 走看看