为什么sort(()=>{return Math.random()-0.5)}乱序数组不准确。(注意结合插入排序原理来理解)

@1、chrome浏览器对于数组长度10以内为插入排序。反之则快速排序和插入排序混合

@2、所以,对于[1,2,3]

第一此比较对1和2就行排序,可能为正序也可能为倒序,所以两种可能一种生成[1,2,3]一种[2,1,3]。

第二次比较使用3和上述两种数组的第二个元素进行比较,也有两种排序可能,倒序和正序,如果为正序则不变排序完成。如果为倒序则需要和1或者2交换位置,假设第一次排序生成为[1,2,3],生成[1,3,2]此时插入排序并未完成。所以继续和1进行比较,又有两种情况。生成[3,1,2]或者[1,3,2]。

所以到[1,2,3]概率为1/2*1/2=25%。

数组乱序有六种可能,所以一种应该平均为100/6。所以这显然不对。

最新文章

  1. C#与yaml解析
  2. 利用 Html 元标记控制搜索引擎蜘蛛
  3. 【leetcode】Populating Next Right Pointers in Each Node I & II(middle)
  4. IE内嵌google chrome frame解决浏览器兼容问题
  5. jQuery阻止默认行为和阻止冒泡
  6. 轻松实现ajax登录时让浏览器保存密码
  7. Android 不同文件名介绍
  8. HTTP状态码一览表(HTTP Status Code)
  9. Ajax 传统的异步登陆
  10. 瞬间从IT屌丝变大神——JavaScript规范
  11. Xml序列化自引用/循环引用问题2
  12. 微信小程序保存图片到相册
  13. 又到毕业季,尚学堂喊你免费领取100个Java毕设项目(含源码视频),限时一周哦!
  14. vs2017 winform打包
  15. Java读取文本文件中文乱码问题
  16. day02 进制之间的转换and计算机编码叙述
  17. Openvswitch手册(5): VLAN and Bonding
  18. [Bat]如何彻底关闭每个盘符默认的共享$(即使重启也有效)
  19. CentOS6.8下安装memcached并设置开机自启动
  20. WPF 去除系统窗体边框,自定义移动窗体

热门文章

  1. linux mint安装mysql-8.0.16
  2. js原生ajax与jquery的ajax的用法区别
  3. febric的使用
  4. 008_linuxC++之_类的静态变量和静态函数
  5. Driver对 (一对两对的对):specific/mini VS general
  6. 畅通工程续(HDU 1874)(简单最短路)
  7. 6502 assemble 条件判断
  8. Undertow
  9. php-fpm脚本
  10. OpenFOAM 中的边界条件(一)【转载】