02-算法
1. 算法概念
算法: 一系列的步骤, 能够将输入的数据转换为输出结果, 表现在代码层面通常是一段代码~
2. 算法好坏的度量
2.1. 时间复杂度 空间复杂度
- 时间: 程序整个执行过程中对时间消耗的估计量级a
- 空间: 程序运行过程中对存储资源占用的估计数量
2.2. 大O表示法 -> 最差表示法
- 时间复杂度函数式 T (N) 中,只保留最高阶项,去掉那些低阶项;
- 如果最⾼阶项存在且不是 1 ,则去除这个项⽬的常数系数;
- T (N) 中如果没有 N 相关的项⽬,只有常数项,⽤常数 1 取代所有加法常数。
注: 递归求阶数空间复杂度大O表示法: 单次递归空间复杂度 * 递归次数
2.3. 竞赛中的时限和空限
- 时间限制: 信息学竞赛中,C++ 通常设定 1 到 2 秒的时间限制,要控制运行次数在
10^7
⾄10^8
之间。 - 空间限制: 128MB~256MB,
int arr[3*10^7]
,int arr[5000][5000]