时间复杂度

88 阅读1分钟

如何评判一个算法的好坏

    // 求 1+2+3+4+5 ... +n 的值
    static int sum(int n) {
        return (1 + n) * n / 2;
    }
  1. 正确性、可读性、健壮性。
  2. 时间复杂度(time complexity):估算程序执行的次数(执行时间)
  3. 空间复杂度(space complexity):估算所需占用的存储空间

大O表示法

  1. 忽略常数、低阶梯 如:3n^2 + 3 ~ O(n2)
  2. 只要是对数,忽略常数:O(logn)