1.
算法的五个重要特征是:
有穷性,确定性,可行性,输入,输出。
2.
算法的设计要求:
正确性,可读性,健壮性,效率与低存储量需求。
3.
算法效率的度量:
(1)事后统计的方法:
优点:
可以分辨程序的优劣,有时甚至可以精确到毫秒。
缺点:
a.必须先运行程序;
b.容易掩盖算法本身的优劣。
(2)事前分析估算的方法:
因素:
算法策略,问题规模,语言级别,机器代码质量,机器执行指令的速度。
4.
算法的时间复杂度:
T(n) = O(f(n));
常见的渐近时间复杂度:
O(1) < O(log2(n)) < O(n) < O(nlog2(n)) < O(n^2) < O(n^3) < O(n!) < O(n^n)。
5.
算法的空间复杂度:
S(n) = O(f(n));
所占内存空间:
输入数据,程序本身,辅助变量。
相关文章
- 衡量算法的性能-时空复杂度分析
- 精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南
- 精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南
- 第一次作业:关于Linux 2.6.20进程模型和O(1)调度器算法的分析
- 【数据结构】算法的复杂度分析:让你拥有未卜先知的能力
- 01背包问题的动态规划算法、蛮力法和空间优化算法
- 实现O(1)时间复杂度带有min和max 函数的栈
- 求解算法的时间复杂度
- list的常见操作以及算法的时间复杂度
- 多传感器的空间同步和时间同步(Lidar+Camera+Radar+IMU)