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