n个数值选出最大m个数(3<m<n)的最小算法复杂度是多少?

为什么不可以先建一个大小为n的大顶堆,然后从调整m次堆,复杂度就是就m*logn吗?
leetcode上的解法是建一个m大小的小顶堆,调整n词,复杂度是n*logm
到底哪个更优啊
全部评论
部分快排 时间复杂度 O(N)  存储复杂度 O(N) 堆排序 时间复杂度 O(NlogM)  空间复杂度 O(M)  这题没啥好说的,也没有正确答案,答出第一个,面试官会问你如果内存存不下整个数组怎么办,答出第二个,面试官会问你有没有更快的。都被问到好几次了
1 回复 分享
发布于 2016-09-09 09:50
用快速选择算法平均时间复杂度为O(n),还可以用Median of medians,也叫BRPRT算法可以保证是O(n)的
点赞 回复 分享
发布于 2016-09-08 16:50
建小顶堆,你求M个最大的,保证堆顶是M个中最小的,复杂度是O(nlogm),你不可能比n小,怎么也得遍历一遍吧。
点赞 回复 分享
发布于 2016-09-09 13:25
牛客网上给的答案是nlogm O(n)答案不对 按照楼上的意思是O(mn)
点赞 回复 分享
发布于 2016-09-09 08:34
支持一楼的,BFPRT算法可以保证O(N)的复杂度,在O(N)的复杂度先选出第K大的数,之后再遍历一遍选出比第K大的数小的数,复杂度还是O(N)
点赞 回复 分享
发布于 2016-09-08 22:30
当N足够大时,建大小为n的方法优
点赞 回复 分享
发布于 2016-09-08 20:06
最小复杂度 O(N) 快排思想
点赞 回复 分享
发布于 2016-09-08 19:51

相关推荐

03-06 18:20
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
25023次浏览 493人参与
# 中国电信笔试 #
31125次浏览 283人参与
# 米连集团26产品管培生项目 #
12965次浏览 285人参与
# 你的实习产出是真实的还是包装的? #
18885次浏览 330人参与
# 如果秋招能重来,我会____ #
96712次浏览 500人参与
# 春招至今,你的战绩如何? #
60246次浏览 547人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14202次浏览 209人参与
# i人适合做什么工作 #
36936次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79532次浏览 219人参与
# 哪些公司真双非友好? #
69228次浏览 287人参与
# 金三银四,你的春招进行到哪个阶段了? #
21575次浏览 277人参与
# 找AI工作可以去哪些公司? #
7754次浏览 189人参与
# 从事AI岗需要掌握哪些技术栈? #
7768次浏览 252人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339975次浏览 2165人参与
# 面试尴尬现场 #
220783次浏览 861人参与
# 五一之后,实习真的很难找吗? #
102811次浏览 584人参与
# 你做过最难的笔试是哪家公司 #
30395次浏览 193人参与
# 你小时候最想从事什么职业 #
159845次浏览 2072人参与
# 应届生第一份工资要多少合适 #
20491次浏览 84人参与
# 阿里笔试 #
176558次浏览 1302人参与
# 一张图晒出你司的标语 #
3846次浏览 72人参与
# 面试被问期望薪资时该如何回答 #
382478次浏览 2163人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务