* 算法是用来做什么的?
* 算法他是用来高效的解决我们计算机处理的数据的一种方式。
* 首先当我们去做一次数据排查,
* 举个例子,我们要去查找student表当中 名字有'明'字的学生资料,一般情况下,我们会用遍历的方式,去走一边,这样的方式应对小数据组的时候是没有任何问题,但是应对大数据比如存在百万级,亿级数据,这种算法的执行时间有些偏长,还可能出现一些情况导致我们循环中断,又要重新排查
* 显然不能满足我们的需求,所以为了解决这种情况,我们会采取更高效的算法来实现需求。
* 算法的效率一般要从两个方面去考虑,一是满足空间效率,二是满足时间效率,一般分为几个梯度
* 按复杂度从小(快)到大(慢)区分:
* f(n) 阶 函数名
* 1 O(1) 常用函数
* 2n+1 O(n) 线性函数
* 2n^2+2n+2 O(n^2) 二次函数
* 2log2n+2 O(logn) 对数函数
* 2nlog2n+2n+2 O(nlogn) nlogn函数
* 2n^3+2n+2 O(n^3) 三次函数
* 2^n O(2^n) 指数函数
* 正所谓鱼和熊掌不可兼得,要提高时间效率就必须牺牲空间内存,要保证存储效率就必须牺牲时间效率,论需求而定
* 下面我先来对几个常用算法进行分析吧!BugMakerHuang/Consumer
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|