递归的概念:直接或者间接地调用自身的算法称为递归算法。 递归让一些复杂的问题变得简单易懂易于分析,如汉诺塔问题和Ackerman函数,在排序快排算法和归并排序算法中也有递归的运用。 汉诺塔: ackerman函数: 递归的缺点:需要不断开拓堆栈空间,占用空间大,可能导致内存溢出,并且运行效率低,不能 ...
分类:
编程语言 时间:
2019-10-13 18:29:56
阅读次数:
93
排序算法说明 1.1 排序的定义: 对一序列对象根据某个关键字进行排序。 1.2 属于说明: 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数 ...
分类:
编程语言 时间:
2019-10-13 17:19:11
阅读次数:
90
1.分治法体会 分治法简而言之就是分而治之,将一个问题分为若干个子问题,再将子问题一一求解出来之后再合并回原来的问题,从而解决原本的问题。分治法能够将一个原本比较复杂的问题逐渐缩减为很简单解决的小问题,简单到可以直接求解出来,再合并回去就能将一个复杂的问题解决。 分治法适用于该问题可以分解为若干个规 ...
分类:
编程语言 时间:
2019-10-13 13:14:49
阅读次数:
79
分块算法总结 分块,就是一种暴力算法,不过复杂度优于暴力,是基于足够的预处理和合理可行的维护操作进行优化时间, 在预处理+维护的耗时上与暴力处理的耗时上找到一种平衡,于是出了这个优美的算法 标志:查询某一区间内元素种类数,查询某一区间大于等于某一元素的数的个数(即排名 模板:LuoguP2801 教 ...
分类:
编程语言 时间:
2019-10-09 19:19:06
阅读次数:
118
总结学过的算法,有些内容借鉴于网络,在此表示感谢 位运算 算术位运算 包括:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、按位左移(<<)、按位右移(>>) 提醒:大小比较符号> & > ^ > |建议使用括号保证正确性 竞赛的常用用法 (1)快速幂 注:可直接在内部取模运算 (2)状 ...
分类:
编程语言 时间:
2019-10-09 17:39:53
阅读次数:
84
一.聚类(clustering) 1.k-均值聚类(k-means) 这是机器学习领域除了线性回归最简单的算法了。该算法用来对n维空间内的点根据欧式距离远近程度进行分类。 INPUT: K(number of clusters) Training set{x1,x2,x3,....xn} (xi b ...
分类:
编程语言 时间:
2019-10-04 09:16:15
阅读次数:
792
1.查找算法 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。 ...
分类:
编程语言 时间:
2019-09-28 17:53:39
阅读次数:
99
#序列分治 奇袭,优美序列(或tarjan+线段树优化建图) #整除分块: 砍树 #二进制拆分: 哪一天她能重回我身边 #扩展欧几里得: 方程的解 #中国剩余定理: visit(处理非素数模数) #循环矩阵: 随(rand)(原根优化),山洞 #DSU on tree: 模板(ac) #树上(权值) ...
分类:
编程语言 时间:
2019-09-25 19:56:46
阅读次数:
118
因为结构变异是造成物种表型差异的一个重要原因,且与各类疾病,特别是癌症的发生、发展紧密相关,因此研究结构变异非常重要。结构变异通常是指长度大于1Kb的基因组序列变异,包括多种不同的类型:插入(insertion)、缺失(deletion)、反转(inversion)、异位(translocation... ...
分类:
编程语言 时间:
2019-09-24 12:06:49
阅读次数:
129
十大排序算法总结(Python3实现) 本文链接:https://blog.csdn.net/aiya_aiya_/article/details/79846380 目录 一、概述 二、算法简介及代码展示 1.冒泡排序 2.简单选择排序 3.简单插入排序 4.堆排序 5.快速排序 6.希尔排序 7. ...
分类:
编程语言 时间:
2019-09-19 21:06:02
阅读次数:
124