尼采般地抒情

尼采般地抒情

尼采般地抒情

音乐盒

站点信息

文章总数目: 315
已运行时间: 1554

一、算法优化方向

  1. 用尽量少的存储空间
  2. 用尽量少的执行步骤(执行时间)
  3. 具体情况,具体分析(空间换时间,时间换空间)

二、时间复杂度

估算程序指令的执行次数(执行时间)

大O估算法

忽略常数、系数、低阶(对数利用换底公式,相当于加了一个常数系数,所以为log(n))

常见的复杂度

Ο(1)<Ο(logn)<Ο(n)<Ο(nlogn)<Ο(n^2)<Ο(n^3)<…<Ο(2^n)<Ο(n!)<O(n^n)

当数据规模较小的时候

当数据规模较大的时候

函数图像绘制工具


三、空间复杂度

估算所需占用的存储空间

空间复杂度是算法运行过程中所需存储空间的量度。它表示算法解决问题所需的内存空间与问题规模之间的关系。通常用大O符号表示。

在分析空间复杂度时,我们考虑算法在运行过程中使用的额外空间,不包括输入数据占用的空间。以下是一些常见的空间复杂度情况:

  • O(1) - 常数空间复杂度: 算法的额外空间需求是固定的,与输入规模无关。例如,一个固定大小的变量或常数大小的数组。
  • O(n) - 线性空间复杂度: 算法的额外空间需求与输入规模成正比。例如,一个数组,其大小与输入数据的规模相同。
  • O(log n) - 对数空间复杂度: 算法的空间需求与输入规模的对数成正比。这通常出现在使用递归分治策略的算法中。
  • O(n^2)、O(n^3) 等 - 多项式空间复杂度: 算法的额外空间需求与输入规模的某个幂次关系成正比。例如,嵌套循环的算法可能具有二次或三次空间复杂度。
  • O(2^n)、O(n!) 等 - 指数空间复杂度: 算法的额外空间需求随着输入规模的指数增长。这样的算法通常效率较低,应该尽量避免使用。

评论区