算法复杂度为O(n^2) 基本思想是:类似于摸牌,在手中的牌已经排好序,摸一张牌,寻找合适的位置,一个一个的比较,找到合适的位置插入 cpp include include include include using namespace std; void insertSort(int a[],in ...
分类:
编程语言 时间:
2019-10-24 23:32:23
阅读次数:
94
这是一个用来求没有负边权的最短路径算法,复杂度是n^3,经过优先队列优化则是n^2. 算法思想:首先用前向星存储图,用一个node(需要重载运算符)类的priority_queue来存储被松弛的点(vis[i]==0)的的信息,dis[]数组存放当前到达这个点的最短路。其次进行扫描,看堆顶,也就是当 ...
分类:
其他好文 时间:
2019-10-24 23:13:07
阅读次数:
89
描述算法复杂度时,常用o(1), o(n), o(logn), o(nlogn)表示对应算法的时间复杂度,是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。 比如时间复杂度 ...
分类:
编程语言 时间:
2019-10-24 21:32:36
阅读次数:
95
```cpp include include using namespace std; //2.斐波那契 递归版本 //fn=1;当n=0,1 //fn=fn 1+fn 2;当n 1 //算法复杂度O(2^n) static int fibonacci(int n) { if (n ...
分类:
编程语言 时间:
2019-10-21 13:26:24
阅读次数:
115
关于数据组织:解决问题方法的效率,跟数据的组织方式有关 关于空间使用:解决问题方法的效率和空间的利用率是有关的 关于算法效率: 抽象类型数据: 算法的定义: 什么是好的算法: 复杂度渐进表示: 应用实例: ...
分类:
编程语言 时间:
2019-10-19 13:30:10
阅读次数:
63
本文参考博客:https://www.cnblogs.com/Imageshop/archive/2013/04/26/3045672.html 原生的中值滤波是基于排序算法的,这样的算法复杂度基本在O(r2)左右,当滤波半径较大时,排序算法就显得很慢。对此有多种改进算法,这里介绍经典 的Huang ...
分类:
编程语言 时间:
2019-10-13 00:53:30
阅读次数:
91
一.O(logn)代码小证明 我们先来看下面一段代码: 2. 欧几里得算法 3.幂运算 四.$$库里的log函数 在$$库里有log()函数和log2()函数 log()函数的底数默认为自然对数的底数e log2()函数的底数很显然就是2咯qwq include include include in ...
分类:
编程语言 时间:
2019-10-12 10:54:51
阅读次数:
316
KMP 算法是一个高效的字符串匹配算法,由Knuth、Morris、Pratt三人提出,并使用三人名字的首字母命名。在KMP之前,字符串匹配算法往往是遍历字符串的每一个字符进行比对,算法复杂度是O(mn)。而KMP算法通过预处理能够把复杂度降低到O(m+n)。 KMP算法 假设给定一个字符串 1 A ...
分类:
编程语言 时间:
2019-10-06 22:11:03
阅读次数:
106
对线性dp常见的分析方法是采用集合的方法,即把整个问题化为一个个集合的的递归关系,不必细分为一个个仔细地问题,简化算法复杂度。 对待这样的dp分析首先是,状态表示,包括集合表示和属性。集合表示通常是把问题化了若干个小类,用某个数据结构通常为数组表示。属性通常是指,集合表示的性质,有count,max ...
分类:
其他好文 时间:
2019-10-05 22:23:32
阅读次数:
116
资料收集: 1,这个资料中算法复杂度算有错,其它的可以参考 2, 【算法学习】字符串Hash进阶 3, ...
分类:
编程语言 时间:
2019-10-05 12:42:32
阅读次数:
57