摘要:
1. 简述 本文主要是关于均匀随机排列数组的一个学习总结,主要参考资料是算法导论。2. 相关题目 据说腾讯一个题目:对于一个斗地主游戏,给出一个发牌的算法,让每个人的牌确保随机。 分析:考虑假设有N张牌,要分出来M张牌,给K个人。我能想到的是,N张牌有N种排列,随机产生一种排列,将产生排列的前M张牌依次分给K个人。使用均匀随机排列算法,能够保证:对于N张牌的N!种排列,且得到的任意一种排列的概率都是相同的,即都为1/(N!)。3. 判定方法 对于一个算法能否保证均匀随机排列数组,主要考查两点: · 产生的排列个数是N!个 · 每种排列的概率相同,即都为1/N!4. 两个算法 阅读全文