首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
licxisky
2018-05-16 00:14
PHP
关注
已关注
取消关注
快排的最坏情况?想要避免除了一开始随机打乱还有什么好的办法?
面试遇到了这类问题,好像没找到什么特别好的办法...
提示
全部评论
推荐
最新
楼层
Yu_Xiao
C++
三位取中?
点赞
送花
回复
分享
发布于 2018-05-16 00:15
听风流水
Java
每次在取pivot时, 产生随机数去取~
点赞
送花
回复
分享
发布于 2018-05-16 00:44
秋招专场
校招火热招聘中
官网直投
木风feng
C++
STL的sort函数了解一下?
点赞
送花
回复
分享
发布于 2018-05-16 08:20
汕大小吴
字节跳动_前端工程师
优化partition算法
点赞
送花
回复
分享
发布于 2018-05-16 09:00
一路成长
C++
块排最重要的就是partition()操作,如果是普通的快速排序,暂且叫partition(),可以采用随机区标志位进行划分;双路快排就是出现=标志位很多时,进行的优化;三路快排就是解决=标志位很多的情况。 具体partition()函数如下: template<typename T> int __partion(T arr[],int l,int r) { int index=rand()%(r-l+1)+l; swap(arr[l],arr[index]); T temp=arr[l]; int j=l; for(int i=l+1;i<=r;i++) { if(arr[i]<temp) { swap(arr[j+1],arr[i]); j++; } } swap(arr[l],arr[j]); return j; } template<typename T> int __partion2(T arr[],int l,int r) { int index=rand()%(r-l+1)+l; swap(arr[l],arr[index]); T v=arr[l]; int i=l+1; int j=r; while(true) { while(i<=r&&arr[i]<=v) i++; while(j>l&&arr[j]>=v) j--; if(i<j) swap(arr[i++],arr[j--]); else break; } swap(arr[l],arr[j]); return j; } 三路快排就不写了,可以去看数据结构与算法。 其实排序算法中,到小范围的排序都可以采用插入排序,这也是一步优化。
点赞
送花
回复
分享
发布于 2018-05-16 09:33
①苆茬①杺
Java
BFPRT 算法了解,这样的选择划分值好像比较好。
点赞
送花
回复
分享
发布于 2018-05-16 09:43
BigRoc
Java
在划分到N小于一定的数据值时 由于复杂度常数项的影响变得更加显著 可以使用其他算法替代
点赞
送花
回复
分享
发布于 2018-05-16 10:11
胶己人
Java
主元取中位数,三向切分,快速三向切分,小数组使用插入排序,这些都是优化
点赞
送花
回复
分享
发布于 2018-05-16 10:42
敲代码的咸鱼
Java
返回值的时候返回两个数。等于最后一个数开始的位置与等于最后的一个数的位置
点赞
送花
回复
分享
发布于 2018-05-17 10:02
秋招专场
校招火热招聘中
官网直投
相关推荐
在打卡的祖国花朵很想看腿
05-30 15:59
已编辑
门头沟学院 计算机类
小米java南京 日常实习 一二面
5.30更新,oc了,进度好快,打着游戏,hr打了三个电话才接到,吓死我了😓﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉一面5.27 45min 基本开放性提问,几乎全程自由发挥1.自我介绍2.看你本科也是科班,问常见数据结构,展开说。答从数组链表吧啦吧啦讲到map、hashmap、treemap、concurrenthashmap3.java八种基本数据类型(脑子抽了说了个String,忘说float和double)4.hashmap和hashtable区别5.线程池参数,拒绝策略6.项目中遇到的难点(不知道说啥,说了经典秒杀的几个问题、缓存常见问题、开始吟唱redis分布式锁、分布式id)7.数据量很大要存...
查看29道真题和解析
点赞
评论
收藏
转发
牛客536424730号
06-01 10:27
请问学硕,导师是不是不太放实习?
专硕相对来说好一点吗?
我的实习求职记录
点赞
评论
收藏
转发
牛客146600443号
04-14 10:33
门头沟学院 计算机类
你要不噶我个腰子吧,不然这钱我真拿不住
点赞
评论
收藏
转发
无聊的王心凌男孩不想打工
04-30 14:38
东南大学 电子信息类
已读不回 直接举办
兄弟们我做的对吗
点赞
评论
收藏
转发
独玖
05-27 18:13
门头沟学院 计算机类
27届JAVA后端
学院二本,大一,想走JAVA后端开发,目前学了java基础,MySQL,javaWeb,ssm学到了AOP,计划大二暑假找个实习,请各位大佬给点经验和建议
浅聊一下我实习的辛苦费
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
给你们预测一下今年的秋招!
4508
2
...
毕业了!
2680
3
...
【🎁】25届硬件牛牛互助计划(1期)
2512
4
...
腾讯音乐还是58同城
2344
5
...
大佬们帮选一下offer
2310
6
...
momenta 实习 C++ 一面
2029
7
...
保融科技java实习面试凉经
1994
8
...
字节跳动国际电商二面(未通过)
1746
9
...
偶遇明星
1710
10
...
保融科技面试 java 已oc
1627
正在热议
#
和牛牛一起刷题打卡
#
13250次浏览
1235人参与
#
通信硬件薪资爆料
#
254431次浏览
2393人参与
#
不去互联网可以去金融科技
#
2184次浏览
37人参与
#
牛客帮帮团来啦!有问必答
#
1089154次浏览
16271人参与
#
面试被问第一学历差时该怎么回答
#
17923次浏览
198人参与
#
简历中的项目经历要怎么写?
#
14129次浏览
186人参与
#
工作两年想退休了
#
19068次浏览
233人参与
#
实习生应该准时下班吗
#
92557次浏览
703人参与
#
你收到了团子的OC了吗
#
530127次浏览
6285人参与
#
你已经投递多少份简历了
#
337953次浏览
4904人参与
#
你怎么评价今年的春招?
#
12187次浏览
191人参与
#
简历中的项目经历要怎么写
#
481443次浏览
8748人参与
#
晒一晒我的offer
#
3765864次浏览
58020人参与
#
担心入职之后被发现很菜怎么办
#
39383次浏览
327人参与
#
本周投递记录
#
220644次浏览
5373人参与
#
简历无回复,你会继续海投还是优化再投?
#
23381次浏览
326人参与
#
硬件人的简历怎么写
#
81789次浏览
848人参与
#
我想象的工作vs实际工作
#
105623次浏览
1699人参与
#
2022毕业生求职现身说法
#
23531次浏览
337人参与
#
你的秋招进行到哪一步了
#
396290次浏览
6674人参与
#
产品人求职现状
#
56706次浏览
821人参与
牛客网
牛客企业服务