sort(()={return Math.random()-0.5)}乱序数组不准确
生活随笔
收集整理的這篇文章主要介紹了
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。所以這顯然不對。
轉載于:https://www.cnblogs.com/qdcnbj/p/11186873.html
總結
以上是生活随笔為你收集整理的sort(()={return Math.random()-0.5)}乱序数组不准确的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于灰度变换的图像增强
- 下一篇: 使用 bash 脚本把 AWS EC2