44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
# 认识复杂度、对数器、二分法或异运算
|
||
1. 时间复杂度
|
||
2. 额外空间复杂度
|
||
3. 常数项,一个操作的执行时间不以具体样本量为转移(数组寻址),每次执行时间都是固定的时间。
|
||
### 时间复杂度
|
||
#### 选择排序
|
||
1. n*(看+比)+1
|
||
2. (n-1)* n*(看+比)+1
|
||
3. (n-2)* n*(看+比)+1
|
||
4. 2*(n+n-1+n-2+····+1)+n 看+比 2
|
||
5. 2an平方+bn+n+c
|
||
6. 2an平方
|
||
最高阶,选出最小的,从头开始放。
|
||
#### 冒泡排序
|
||
1. 相邻的两个比较,大的放后面,最大值在后面。
|
||
2. n-1
|
||
3. n-2
|
||
4. n-3
|
||
5. 1
|
||
5. n平方
|
||
#### 插入排序
|
||
1. 最好n
|
||
2. 最差n平方
|
||
#### 计算时间复杂度
|
||
1. 按照最坏的情况来
|
||
2. 拆分为一个个基本动作
|
||
3. 如果数据量为n,看基本动作和n之间的关系。
|
||
4. 只把高阶项留下,低阶项和常数项去除。
|
||
### 常数项
|
||
### 最优解
|
||
1. 时间复杂度
|
||
2. 空间复杂度
|
||
#### 常数时间操作
|
||
1. 常见算数操作
|
||
2. 移位、位运算
|
||
3. 复制、比较、自增、自减操作
|
||
4. 数组寻址操作
|
||
#### 非常数时间操作
|
||
1、链表LinkedList
|
||
### 对数器
|
||
### 局部最小值
|
||
数据状况和问题本身梳理问题。
|
||
二分排他性
|
||
俩边开始找,根据趋势,二分处理。 |