算法: 解决一个实际问题的方法和具体步骤。算法是程序设计的灵魂。
算法特征
- 可行性
- 确定性
- 有穷性
- 输入
- 输出
一个算法有一个或多个输出,以反应对输入数据加工后的结果,这是算法设计的目的。它们是同输入有着某种特定关系的量。
算法的基本结构
任何一个算法都可以表示成三种基本结构:顺序结构、分支结构和循环结构。
- 顺序结构
顺序结构是一种最简单、最基本的控制结构。计算机从前往后,依次执行所有的操作步骤,不遗漏、不重复
- 选择结构
选择结构由一个“判断条件”和两个“分支”构成,根据判断条件的成立与否,决定执行哪一条分支路径
- 循环结构
循环结构又称重复结构,目的是将某一条或某一组语句重复执行若干次,其中的“某一条或某一组语句”称为循环体。
算法的时间复杂度
- 时间复杂度:算法运行需要的时间, 一般将语句执行次数作为时间复杂度


算法的空间复杂度
- char/bool : 8bit 比特, 1字节 1B
- int : 32bit 比特, 4字节 4B
- float : 32b 4B
- long long: 64bit 比特, 8B字节
基础算法
- 高精度计算
- 穷举算法
- 排序
- 递推
- 递归
- 搜索
- 贪心
- 分治
- 动态规划
