《数据结构》[02]算法与算法分析
算法和算法分析
1. 算法的定义
2. 算法的描述
3. 算法与程序
4. 算法特性
5. 算法的设计要求
- 一个好的算法首先要具备正确性,然后是健壮性,可读性,在几个方面都满足的情况下,主要考虑算法的效率,通过算法的效率高低来评判不同算法的优劣程度。
- 算法效率以下两个方面来考虑:
- 1.时间效率:指的是算法所耗费的时间;
- 2.空间效率:指的是算法执行过程中所耗费的存储空间。
- 时间效率和空间效率有时候是矛盾的
6. 算法时间效率的度量
- 事前分析法
7. 时间复杂度例题
eg.1
for(int k = 0;k < n ; k++)
执行了n+1次,因为最后一次判定不小于n才跳出循环(也就是括号里还有一次判定,循环体执行了n次,加上括号里判定不小于n那一次,正好n+1)。
for(int i = 0;i < n ; i++)
执行了n+1次,因为最后一次判定不小于n才跳出循环。
for(int j = 0; j< n ; j++)
执行n(n+1)次,外层执行n次,本身循环执行n+1次。
y ++
执行n×n次:本身执行n次,作为for循环的循环体执行了n次。
eg.2
eg.3
eg.4
级 数 展 开 公 式 : 级数展开公式: 级数展开公式:
eg.5
l o g 函 数 基 本 知 识 log函数基本知识 log函数基本知识
8. 算法时间效率的比较
9. 空间复杂度