本篇博文,旨在介绍洗牌算法;并用C++实现了洗牌算法
洗牌算法
我们都多多少少学过几种排序,常见的几种排序大类有插入排序,希尔排序,选择排序,交换排序
然而,洗牌算法的目的是将有序的数组进行打乱
一般的洗牌算法
1、利用一个队列
2、每次从数组中,随机找到一个数;
若该数没有被选择过,那么就将它放入队列中;
如果被选择过,就重新随机
毋庸置疑,这个算法是可以满足洗牌的要求的
然而呢,让我们看一下该算法时间复杂度
每次
本篇博文,旨在介绍洗牌算法;并用C++实现了洗牌算法
我们都多多少少学过几种排序,常见的几种排序大类有插入排序,希尔排序,选择排序,交换排序
然而,洗牌算法的目的是将有序的数组进行打乱
1、利用一个队列
2、每次从数组中,随机找到一个数;
若该数没有被选择过,那么就将它放入队列中;
如果被选择过,就重新随机
毋庸置疑,这个算法是可以满足洗牌的要求的
然而呢,让我们看一下该算法时间复杂度
每次