Understanding the Fisher-Yates Card Shuffling Algorithm

I've been working on an upcoming modelling practice blog post and I needed (once again) to implement a card-shuffling algorithm. As always, I turned to the trusty Fisher-Yates shuffle to shuffle my hypothetical cards, but in the process of doing so I was struck by the realization that I didn't actually understand what this commonplace algorithm was actually doing, at least in any meaningful sense. So, not content to let sleeping knowledge lie, I dove into learning about this algorithm... Read more >
/* * * DON'T EDIT BELOW THIS LINE * * */ (function () { var s = document.createElement('script'); s.async = true; s.type = 'text/javascript'; s.src = '//' + disqus_shortname + ''; (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); }());