选择排序的算法复杂度与冒泡排序类似,其比较的时间复杂度仍然为O(N2),但减少了交换次数,交换的复杂度为O(N),相对冒泡排序提升很多。算法的核心思想是每次选出一个最小的,然后与本轮循环中的第一个进行比较,如果需要则进行交换。 ...
分类:
编程语言 时间:
2019-01-10 16:57:37
阅读次数:
185
第一章 算法引论 算法分析的目的:估算该算法所需的内存空间和运行时间。 分析算法复杂度的目的:用以比较同一问题的不同算法;时间和空间的增长率作为衡量的标准。 算法是对解决这个问题的方法和步骤的描述。 算法的基本特征:有穷性、确定性、可行性、0到多个输入、1到多个输出。 一个好的算法应具有正确性、可读 ...
分类:
编程语言 时间:
2019-01-06 11:54:33
阅读次数:
276
我还什么都不会啊 字符串还是很重要的,省选肯定会考的吧 所以还是先写一下马拉车吧 $ $ $Manacher$ 是一个求最长回文子串的算法,复杂度$O(n)$ 核心原理就是利用回文串的性质 首先还是按照对称轴来找回文串,为了避免分类讨论回文串的奇偶性,所以可以在字符串之间先填充特殊字符 具体做法就是 ...
分类:
编程语言 时间:
2019-01-01 19:51:39
阅读次数:
155
算法复杂度分为 ‘时间复杂度’ 和 ‘空间复杂度’ 。 其作用: 时间复杂度是指执行算法所需要的计算工作量; 空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。 那么 ...
分类:
编程语言 时间:
2018-12-20 19:08:21
阅读次数:
194
机器学习 定义:机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 分类:根据训练集是否标注,9可以 ...
分类:
其他好文 时间:
2018-12-09 16:22:47
阅读次数:
180
大数因数分解Pollard_rho 算法 复杂度o^(1/4) #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <map> using na ...
分类:
编程语言 时间:
2018-12-02 13:36:05
阅读次数:
180
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点 ...
分类:
编程语言 时间:
2018-11-16 23:40:00
阅读次数:
309
[toc] 引言 虽然说前端设计的算法复杂度并不高,但是像我这种懒龙,还是希望能通过算法优化来解决问题,并且升职加薪,调戏女媛,忽悠实习生的。所以学习算法成了我日常撩妹,偶尔装X的关键。同时那种解题的高潮快感,还能让 ...
分类:
编程语言 时间:
2018-11-13 14:17:12
阅读次数:
203
题目大意:给定一棵 N 个节点的无根树,边有边权,统计树上边权和不大于 K 的路径数。 对于每条树上路径,对于每一个点来说,该路径只有经过该点和不经过该点两种情况,对于不经过该点的情况,可以转化成是否经过以该点为树根的子树节点的子问题,由此构成一个分治策略。 对于点分治来说,限制算法复杂度的瓶颈之一 ...
分类:
其他好文 时间:
2018-11-06 00:47:43
阅读次数:
140
1.实践题目 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三 ...
分类:
编程语言 时间:
2018-11-05 22:52:04
阅读次数:
175