1. 数据结构
提到算法不能不提数据结构,数据结构就是
数据元素按照一种或多种关系的集合,按照逻辑结构划分,可以分为:

1.1 集合
集合是由一堆无序的、相关联的,且不重复的数据元素组成的集合。

1.2 线性结构
线性结构是数据元素之间存在“一对一”关系的线性关系的集合。

1.3 树
树是数据元素之间存在”一对多“关系的集合。

1.4 图
图是数据元素之间存在“多对多”关系的集合。

1.5 算法
1.5.1 算法的五个特性

- 输入:算法具有零个或多个输入
- 输出:算法至少有一个或多个输出
- 有穷性:算法必须能抄在执行有限个步骤之后终止
- 确定性:算法的每个步骤都有明确的含义,不会出现二义性
- 可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成
1.5.2 好算法的四个因素

1.6 时间复杂度
| 执行次数 | 函数阶 | 非正式术语 |
|---|---|---|
| 40 | O(1) | 常数阶 |
| 5n+45 | O(n) | 线性阶 |
| 2n2 +4n+1 | O(n2 ) | 平方阶 |
| 8log2n+30 | O(logn) | 对数阶 |
| 5n+2nlog2n+20 | O(nlogn) | nlogn阶 |
| 2n3+n2 +4n+5 | O(n3 ) | 立方阶 |
| 2n | O(2n ) | 指数阶 |
36万+

被折叠的 条评论
为什么被折叠?



