复杂度
• 时间效率,即算法运行速度的快慢。
• 空间效率,即算法占用内存空间的大小。
我们的目标是设计“既快又省”的数据结构与算法。掌握评估算法效率的方法则至关重要,因为只有了解评价标准,我们才能进行算法之间的对比分析,从而指导算法设计与优化过程。
一般都是通过空间换时间,注意执行速度;
时间
设输入数据大小为 ,常见的时间复杂度类型包括(按照从低到高的顺序排列):
常数阶对数阶线性阶线性对数阶平方阶指数阶阶乘阶
空间
算法运行过程中使用的内存空间主要包括以下几种:
- 「输入空间」用于存储算法的输入数据。
- 「暂存空间」用于存储算法运行过程中的变量、对象、函数上下文等数据。
- 「输出空间」用于存储算法的输出数据。
通常情况下,空间复杂度统计范围是「暂存空间」+「输出空间」。
Loading...