2022年06月05日 打卡
文章目录
今日学习内容
今天读了算法的1.4节,这一节主要就是讲一些理论内容,如何分析算法的复杂度。
程序员对于算法复杂度的认知不需要特别精确,我的理解是,复杂度表示的是,随着问题规模的扩大,算法的所需的空间/时间的增长趋势。
由于我们关注的是增长趋势,所以我们只需要找到算法的主要增长趋势就好。当高级别和低级别同时存在时,可以忽略低级别的复杂度。
算法的复杂度有以下几种级别:
描述 | 函数 |
---|---|
常数级别 | 1 |
对数级别 | $logN$ |
线性级别 | $N$ |
线性对数级别 | $NlogN$ |
平方级别 | $N^2$ |
立方级别 | $N^3$ |
指数级别 | $2^N$ |