随笔分类 - 算法
摘要:题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 思路:递归 假设数据规模为n(这里表示数组的长度) n = 1 :只有自身一种序列 n = 2 :1.第一种序列就是自身 2.两数交换位置,形成第二种序列 n = 3:为了缩小数据规模,可以拆分成1 + 2的情况。即:[1 +
阅读全文
摘要:#include #include // 判断整数是否为2幂 /* if (a & (a - 1)) { // not } else { // yes } */ uint32_t roundup_pow_of_two(const uint32_t x) { if (x == 0){ return 0; } if (x == 1){ return 2; } ...
阅读全文
摘要:函数 get_topn_heap 实现了用最小堆查找数组arr中最大topn个数字,并将它们放置在数组中[0-tonp)的位置 与前面的用快速排序的方法相比,用最小堆的方法效率稍低一些,快速排序方法:http://www.cnblogs.com/tangxin-blog/p/5617736.html
阅读全文
摘要:#include #include #include #define MAX_SIZE 400001 // 生成不重复的随机数序列写入文件 void gen_test_data(uint32_t cnt) { if( cnt >= MAX_SIZE){printf("cnt too largr\n");return;} uint32_t i = 0; char bu...
阅读全文
摘要:class file : test file: 测试结果:
阅读全文
摘要:1 #include 2 using namespace std; 3 4 int arr[10] = {1,9,2,5,4,6,3,8,7,1}; 5 6 void dump(int arr[],int cnt) 7 { 8 for(int i=0;i=end)return;18 ...
阅读全文