00 前言:时间复杂度

  • 一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。
  • 时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作big O)来表示。具体来说,先要对一个算法流程非常熟悉,然后去写出这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的表达式。
  • 在表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果为f(N),那么时间复杂度为O(f(N))。
  • 评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”。因为对于时间复杂度相同的算法,由于常数时间操作不同,即使得到明确的表达式,也无法比较他们的性能。

    01 排序算法

    简单排序算法

    O(NlogN)的排序

    桶排序

    排序算法总结