摘要: 时间复杂度:O(2(n + k)) == O(n); 没多大用处的排序算法, a.只能对正数排序. b.主要对批量小数据有用, 极易因k值过大导致MLE c.个人能力原因,此排序算法的代码并不能优雅的写出来. d.内存浪费严重, 好在时间复杂度不高(目前最低!?), 没多大实用价值。 对一些地方的解 阅读全文
posted @ 2016-09-08 10:44 筱陌 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 分治策略的应用,程序易懂易编写,不要说一个sort完事,这里是介绍算法不是介绍偷懒,不过我的版本在用随机数优化之前运行效率确实比不上sort.... 此算法的思想可用于求无序数列中第k大的数,时间复杂度为O(logn). 2017年10月25日00:13:51 更新: 为什么要倒着写!!!!! | 阅读全文
posted @ 2016-09-08 10:43 筱陌 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 一种不是很稳定的算法,胜于容易理解,模拟扑克牌手牌排序(某猿至今不会打牌……) 阅读全文
posted @ 2016-09-08 10:42 筱陌 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 递归的初级应用,可类比到线段树的建树过程,一个比较简略版本的代码不知被我扔哪去了,见到后再补充(((φ(◎ロ◎;)φ))) 阅读全文
posted @ 2016-09-08 10:42 筱陌 阅读(79) 评论(1) 推荐(0) 编辑
摘要: 通过维护一个大根堆/小根堆来实现数组元素的排序,优点是维护步骤容易理解,其涉及的一些细节操作会对线段树的书写多少有写辅助。 此代码的缺陷:swap函数并不用手写,节点编号用i << 1、i << 1 | 1 来计算可多少加快一点运算速度。 阅读全文
posted @ 2016-09-08 10:42 筱陌 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序的小范围优化(我实在不知道冒泡怎么写了,所以可能会有误解, 欢迎指正) 阅读全文
posted @ 2016-09-08 10:41 筱陌 阅读(138) 评论(0) 推荐(0) 编辑
摘要: (经同学指正我才知道, 我之前写的冒泡原来是选择....不想改了, 不会冒泡就不会了吧.o(︶︿︶)o) 比较排序算法的基础,奠定了此类算法的时间复杂度基数 阅读全文
posted @ 2016-09-08 10:40 筱陌 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1.纯虚函数 virtal void function() = 0; 不能实例化, 因为此函数没有实体, 用于派生有实体的类 所以不能实例化含有纯虚函数的class 2.静态多态 3.模板(动态多态) 泛型编程 函数模板 template<typename T> T maximun(T n1, T 阅读全文
posted @ 2016-06-15 11:27 筱陌 阅读(286) 评论(3) 推荐(0) 编辑
摘要: 摘自《算法竞赛入门经典(第2版)》 P265 保留以后做参考: 或者每次更新DP的同时, 更新一个记录方案的数组next[] 阅读全文
posted @ 2016-04-20 18:40 筱陌 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 普通方式 fILE *fp = fopen("文件", "参数"); 打开文件, 若打开失败则返回NUL fwrite(&conut, sizeof(int), 1, fp); //二进制写 fread(&conut, sizeof(int), 1, fp); //二进制读 fscanf(fp, " 阅读全文
posted @ 2016-03-12 14:41 筱陌 阅读(146) 评论(0) 推荐(0) 编辑