打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
面试官:连个冒泡排序都写不出来,你这五年都干些什么了?
userphoto

2022.08.02 广东

关注

面试时,排序算法经常会遇到。

张工毕业5年了,一直在做java开发,最近到某互联网公司面试,做了笔试题后,面试官看了觉得还不错,于是就让他手写冒泡选择排序法,张工写不出来,面试官直接怂了回去:毕业5你那了,连个冒泡排序都写不出来,你这五年都干些什么了。张工一脸的无助,不过确实不应该,类似冒泡排序这样基础的算法,平时应该要掌握好才对。

小编之前参加的笔试也遇到了手写排序算法的情况,关于冒泡排序可能基本都能写出来,但要是能把代码再优化一下,那就更好了,能给面试官留下更好的印象。

一般来说,两个for语句就好了:

这里涉及到一交换函数,交换函数有很多种写法,基本的写法:

有时候面试官会问,不用中间变量如何交换两个数。这时我们可以用位运算

当然一般来说,不建议这么做,还是建议用第一种方法,但要是面试官问到了,你要是能回答到这点,也是很不错。

细心的你应该会留意到,当我们需要排序的数组处于基本有序时,第一种做法还会做出很多不必要的查找判断,这样就会降低了代码的执行效率,那么可不可以优化一下呢,答案是肯定的,我们可以加个标识flag,用来判断本次排序中是否需要发生交换,如果没有发生交换,说明排序已经完成了,无需再做交换处理。

冒泡排序法基本来说还是挺不错的,数据规模不大时,还是推荐使用的,但相对于其他的排序算法(譬如快速排序)效率还是有些不足。

小编觉得,关于冒泡排序法还是挺重要,平时在学习中要注重基础。

不知对此你是怎么看待的,欢迎交流!

【END】

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
张工培训
算法系列: 10大常见排序算法: 分治的原理
1分钟了解近百种计算机算法
算法|数组的四种排序方法
算法二:直接插入排序(O(n^2))
百度笔试感受
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服