frankdevhub / frankdevhub.github.io

Blog template powered by jekyll to share the interesting stories in life (基于Jekyll的模板引擎的维基风格的个人博客,记录分享生活中的新鲜故事)
http://blog.frankdevhub.site
MIT License
5 stars 3 forks source link

Fisher–Yates shuffle 洗牌算法 #24

Open frankdevhub opened 5 years ago

frankdevhub commented 5 years ago

https://www.frankdevhub.site/2016/10/16/shuffle-algorithm/

简单来说 Fisher–Yates shuffle 算法是一个用来将一个有限集合生成一个随机排列的算法(数组随机排序)。这个算法生成的随机排列是等概率的。同时这个算法非常高效。本文主要介绍这个算法的来源、演变、原理。并举出一个例子为大家清晰的描述每次迭代过程。最后使用 JavaScript 代码将算法实现。