shuffle算法及应用
来源:互联网 发布:java应届自我介绍 编辑:程序博客网 时间:2024/05/01 09:43
shuffle算法(洗牌算法)就是将顺序打乱,一个典型的应该就是音乐播放器随机播放,而在机器学习,数据挖掘,做抽样的时候需要shuffle, 一个好的shuffle算法主要是保证时间复杂度是最小的
/*************************************function: shuffleauthor: liuyiverison:1.0date:2015.12.18**************************************/#include<iostream>#include<stdlib.h>#include<vector>using namespace std;template<class T>void shuffle(vector<T>& src){ size_t len = src.size(); for(size_t i = 1; i < len; i++) { size_t j = rand() % len; T tmp = src[i]; src[i] = src[j]; src[j] = tmp; }}int main(){ srand(time(NULL)); vector<int> a; for(int i = 0;i < 10; i++) a.push_back(i); for(int j = 0; j < 10; j++) { shuffle(a); for(size_t i = 0; i < a.size(); i++) cout<<a[i]<< ' '; cout<<endl; } return 0;}
0 1
- shuffle算法及应用
- shuffle 算法
- shuffle算法
- shuffle算法(洗牌算法)
- [算法9]shuffle算法
- NCR Shuffle算法原理
- NCR Shuffle算法原理
- NCR Shuffle算法原理
- 洗牌算法(shuffle)
- 洗牌算法shuffle
- 洗牌算法shuffle
- hash算法及应用
- TFIDF算法及应用
- BASE64算法及应用
- BASE64算法及应用
- RANSAC算法及应用。。
- Hash算法及应用
- 递归算法及应用
- 第16周SHH数据结构-【项目1-验证算法(7)归并排序 】
- 单例模式
- 2015年12月18日技术工作日志
- Swing事件分发线程EDT与SwingUtilities.invokeLater
- EJB总结
- shuffle算法及应用
- 基于大数据的软件缺陷分析和预测
- Backbone.js 1.1.2
- HDOJ 1051 Wooden Sticks
- linux 电源管理驱动编写
- Less 简介
- UITableView
- C++中的explicit关键字
- 51Nod 1191 消灭兔子 (贪心+优先队列)