zoukankan      html  css  js  c++  java
  • sort(()=>{return Math.random()-0.5)}乱序数组不准确

    为什么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。所以这显然不对。

  • 相关阅读:
    js
    第三方jar包导入unity
    xcode打包苹果应用遇到的问题及解决方法
    ios打包unity应用以及配置签名
    unity打包安卓应用及生成签名
    Unity实现用户条款弹窗及登录
    Unity协程实现伪加载页面
    Unity配置安卓开发环境
    Unity中用Mono插件解析xml文件
    Excel关联xml文件
  • 原文地址:https://www.cnblogs.com/qdcnbj/p/11186873.html
Copyright © 2011-2022 走看看