![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
ac桀骜
这个作者很懒,什么都没留下…
展开
-
数据结构与算法 快速幂
简介快速幂是一种快速求幂的方法,通过将形如a^11转化为(a^2)^5 * a = ((a^2)^2) * a) * a的形式,把幂层层拆分为(2*2+1)*2+1的形式,使a的n次方运算转变为不断的平方和乘以a,从而大幅减少运算次数,运算速度加快至至原速度的log级。经测试快速幂比C++库函数中的pow函数运算速度要快。 实现用模板函数实现,增加函数的通用性,可运算整数和浮点...原创 2018-10-09 11:23:58 · 259 阅读 · 0 评论 -
数据结构与算法 字典树
简介字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。(图片源自百度百科)实现/** * 字典树 * * @桀骜 2018/8/3 */#in...原创 2018-10-09 11:31:47 · 147 阅读 · 0 评论 -
数据结构与算法 欧拉线性筛求素数
简介欧拉线性筛筛法可以在O(n)的复杂度内求一个范围内的素数原理参考文章:欧拉筛(线性筛)& 欧拉函数 实现/** * 欧拉线性筛法求素数 * * @桀骜 2018/8/21 */#include <iostream>#include <cstring>using namespace std;#define PRIMES_MAX...原创 2018-10-09 11:41:05 · 195 阅读 · 0 评论 -
数据结构与算法 并查集
简介并查集用于将许多元素加入不同的集合(join(x, y))来快速查找某个元素所在的集合。每个集合有一个代表元素,查找(find(x))时如果两个元素的代表元素相同,则这两个元素属于同一个集合。实现集合通过pre数组将pre[i]赋值为i所在集合的代表元素。初始化将每个元素的pre[i]赋为i,即各集合只有一个元素,自己为自己的代表元素。通过join操作将两个元素合为一个...原创 2018-10-09 11:51:40 · 135 阅读 · 0 评论