分享好友 行情首页 行情分类 切换频道
js中快速排序的优化历程
2024-12-16 15:31  浏览:70

对sort的疑惑

自从es6出现后,我们不知不觉就用上了sort进行排序,毕竟人家又快又好。那么sort究竟怎么实现的呢

参考了一下大佬的文章(三种快速排序以及快速排序的优化,我便悄悄拿起了键盘。

思路分析这些我就不写了,请移步大佬博客参照,由于大佬使用的java代码,我便用js来进行验证一下。

排序条件以及优化结果

根据大佬的分析,数组排序要面对的有以下四种情况,我们用1w个随机值为例进行一下测试,结果如下:

数组情况随机数组升序数组降序数组重复数组解决的问题固定基准值2929532920282解决随机数组的排序问题随机基准值362011277解决有序数组的排序问题三数取中301111256解决反向有序数组的排序问题三数取中+插排301111263优化排序效率,1w可能看不太出来,100w个数据效果更明显三数取中+插排+聚同228821解决重复数据较多时的排序问题sort18829解决了以上的几个问题
  • 随机数组
     
  • 升序数组
     
  • 降序数组
     
  • 重复数组
     
  • 比较方式,使用了来计算时间
     
快速排序优化1之固定基准值
 
快速排序优化2之随机基准值

js中快速排序的优化历程

 
快速排序优化3之三数取中
 
快速排序优化4之三数取中+插排
 
快速排序优化5之三数取中+插排+聚同
 
结语

使用最后一层优化后,结果依然和原生sort有一定的差距,但是大致相差不是远。本想用100w个数据来测试,但是前两种方法直接让控制台死机,但只要能得出结果就ok,可见直接用快速排序并不能达到最佳效果。

追加总结1

今天对第五种方案进行了一些优化,去掉了多余 的判断。并且重新对 原生 js 的 进行测试,它的表现依旧非常出色。在写 的时候,我也发现了一个非常重要的注意事项,那就是一定要记着 ,这个方法其实就是为了解决高浓度重复数组的排序问题。效果等同,甚至优于聚同方案

写法如下

 

参考文献

    以上就是本篇文章【js中快速排序的优化历程】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/831.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
手机特别卡怎么办
在现代生活中,手机已经成为我们不可或缺的伙伴。然而,随着使用时间的增长,不少用户会遇到手机变得特别卡的问题。这不仅影响了
抖音外链建设规划与执行方案100
外链建设目标* 提高网站在抖音平台的可见度和影响力* 为网站获取高质量的流量* 提升网站的搜索引擎排名外链建设策略1. 分析竞争
李丁夫最新任命,引领科技革新重塑生活体验领袖
李丁夫最新任命,将引领科技潮流并重塑生活体验。他的上任标志着新一轮科技革新和优质生活体验的开始,致力于将最新的科技应用于
淘宝运营
岗位职责:1、负责淘宝店铺的日常运营,熟悉天猫、C店的运营环境、交易规则、分析店铺销售目标并落实执行;2、负责天猫店铺推广
实时更新:呼和浩特直达到海东汽车托运2024讲信誉+排名一览
  呼和浩特到海东专线物流、呼和浩特到海东物流专线、呼和浩特到海东回头车、绥化回程货车、大型机器设备运输。我们的司机具备
梦幻西游:盘点游戏中的热门召唤兽——人形篇
  自梦幻西游诞生以来,人气最高的召唤兽就是人型宠。时至今日,这个群体已经太过庞大,小编整理过后,将其分解为人形篇、精怪
医保管理精细化 医院有何“妙招”
医保制度改革深化,对医院医保管理的要求也随之提档升级。整合医、教、科等业务系统和人、财、物等资源,推动医院运营管理精细化
白天黑夜宝宝巴士小百科
白天黑夜宝宝巴士小百科,一般又称白天黑夜app。
考研教育/建模/原画/插画/考公等教育投放b站广告效果解析
2022年08月26日陈建贵100资深效果广告开户代运营公司,小红书、B站信息流广告,达人探店种草,抖音千川,腾讯视频号等广告开户代
排名展现:重庆男科医院排行榜前五的男科医院-重庆治疗早泄哪家医院好
排名展现:重庆男科医院排行榜前五的男科医院-重庆治疗早泄哪家医院好。重庆男科医院排名:1、重庆红楼医院,2、重庆红楼医院男
本企业新闻
推荐企业新闻
发表评论
0评