详解时间、空间复杂度(内含彩蛋~~)
目录 一、时间复杂度:执行算法所需要的计算工作量 (一)时间复杂度的理解 1.时间频度定义 2.(渐进)时间复杂度定义 (二)时间复杂度的计算 计算攻略: 常见的算法时间复杂度由小到大排序: 大O表示法推导实例: 1.常数阶 ⇒ O(1) 2.线性阶 ⇒ O(n) 3.平方阶 ⇒ O(n2) 二、 空间复杂度:执行这个算法所需要的内存空间 三、彩蛋 学习算法我们首先需要清楚的概念就是时间复杂度和空间复杂度 接下来我们就详细讲解一下时间复杂度和空间复杂度,为大家后面的学习打好基础! 算法入门书籍挑选点这里~ 帮你快速找到适合自己的算法书籍(详细,内含彩蛋哦~) 一、时间复杂度:执行算法所需要的计算工作量 (一)时间复杂度的理解 1.时间频度定义 我们需先明白: 一个 算法花费的时间 是与 算法中语句的执行次数 成 正比 的 (也就是说一个算法中语句执行次数越多,花费的时间也就越多) 时间频度:T(n): 一个算法中的语句执行次数,记为T(n) 2.(渐进)时间复杂度定义 T(n): 算法中基本操作重复执行的次数是问题规模n的某个函数。 f(n): 某个辅助函数 算法的(渐进)时间复杂度O(f(n)): 若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f (n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。 记作T(n)=O(f(n)),称O(f(n))