提一个关于排序算法的问题,请大佬解答一下:

一个无序整数数组长度为N(N>100),要判断M个不同的整数是否在数组里,当M大于( )时你就会优先将数组排列再进行判断?
A. 0
B. 2
C. 2log2N
D. 2N
#笔试题目#
全部评论
  感觉排除法一看就选C吧。。。错了不要打我
点赞 回复 分享
发布于 2019-07-10 21:19
假设每次查找的复杂读相同,在无序数组中查找复杂度为 O(N),有序数组中查找复杂度为 O(lgN),排序数组的复杂度为 O(N*lgN)。 那么在有序数组中查找M个数的复杂度为 O(M*N),在无序数组中查找M个数的复杂度为 O(M*lgN)。 也就是计算 M*N > M*lgN + N*lgN 时 M 的取值,M > N / ( N / lgN - 1 ) > lgN。 所以选 C。 错了请轻喷 🙃
点赞 回复 分享
发布于 2019-07-10 21:05

相关推荐

09-15 15:53
Java
Elastic90:我看到的是东软的人在耐心回应,而那位实习生跟在发疯似的
投递东软集团等公司10个岗位
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务