上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 一、桶排序算法的引入。 之前我们已经说过了计数排序的算法。 这个时候我们如果有这样的一个待排序数据序列: int x[14]={-10, 2, 3, 7, 20, 23, 25, 40, 41, 43,60, 80, 90, 100}; 我们如果按照计数排序的算法,那么待排序数据的范围是:-10 到 阅读全文
posted @ 2019-11-18 23:40 星光夜 阅读(231) 评论(0) 推荐(0)
摘要: 计数排序 一、什么是计数排序 当我们排序的时候,是对于一定范围的字符进行排序的。 比如如果是a-z26个字母排序,这个时候可能出现的字母总数一共是26个,依次遍历字母出现的顺序,然后按照字母顺序以及出现的次数重新排列就可以了。 如果是数字排序,也是这样,找到出现的数字的范围,然后对于范围以内的进行遍 阅读全文
posted @ 2019-11-17 22:40 星光夜 阅读(411) 评论(0) 推荐(0)
摘要: 一、什么是归并排序? 归并排序是基于分而治之的思想建立起来的。 所谓的分而治之,也就是将一个数据规模为N的数据集,分解为两个规模大小差不多的数据集(n/2),然而分别处理这两个更小的问题,就相当于解决了总的问题。 二、归并排序的思路。 1-首先将数据分为左右相等的两部分,不断细分,到最后只有单个元素 阅读全文
posted @ 2019-11-17 00:11 星光夜 阅读(245) 评论(0) 推荐(0)
摘要: 一、引言 对于各种排序算法也算是有了一定的了解,所以这里做一个总结。 二、冒泡排序法。 这是比较经典的排序算法,主要是通过内外两层的循环比较,使得乱序变为顺序。 下面是一个测试代码 1 #include <iostream> 2 #include <vector> 3 using namespace 阅读全文
posted @ 2019-11-15 21:18 星光夜 阅读(326) 评论(0) 推荐(0)
摘要: 参考链接:https://blog.csdn.net/qq_22642239/article/details/80774013 阅读全文
posted @ 2019-11-10 23:18 星光夜 阅读(143) 评论(0) 推荐(0)
摘要: 一、代码实现: class Yoba { public: Yoba(int n) : _n(n) {} Yoba operator() (int n) { return Yoba(_n + n); } bool operator== (int n) { return _n == n; } int o 阅读全文
posted @ 2019-11-04 19:14 星光夜 阅读(1307) 评论(0) 推荐(0)
摘要: 转载:http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将 operator= 整体上视为一个函数名。 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解 阅读全文
posted @ 2019-11-04 19:09 星光夜 阅读(247) 评论(0) 推荐(0)
摘要: 一情景: 算法功能:对于传入的vector, 能够找到两个数字,使其相加之和为target,然后返回这两个数字的位置(也就是秩) 最开始是这样的一个问题: 对于一个传入的const vector<int>类型的vector,希望能够使用迭代器去访问每一个元素 代码如下: 二、问题 但是编译的时候发现 阅读全文
posted @ 2019-11-01 17:08 星光夜 阅读(3342) 评论(0) 推荐(0)
摘要: 参考链接: https://blog.csdn.net/eebaicai/article/details/89788098 阅读全文
posted @ 2019-10-29 00:00 星光夜 阅读(156) 评论(0) 推荐(0)
摘要: 冒泡排序法需要两次扫描,所以从时间复杂度来说,是O(n2). 如果用图形表示,是这样的: 但是我们可以加以改进。 首先是,如果在排序中间,整个向量已经达到了有序状态,可以直接跳出来。 这样它的复杂度由一个三角形变为一个梯形。 同时,可能存在部分有序的状态,所以可以再次改进: 深蓝色为可能占用的时间复 阅读全文
posted @ 2019-10-23 20:24 星光夜 阅读(611) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 下一页