- 时间复杂度:
看看有几重 for 循环,只有一重则时间复杂度为 O(n),二重则为 O(n2),依此类推,如果有二分则为 O(log2n),二分例如快速幂、二分查找,如果一个 for 循环套一个二分,那么时间复杂度则为 O(nlog2n)。 - 空间复杂度
一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小,它包括为参数表中形参变量分配的存储空间和为在函数体中定义的局部变量分配的存储空间两个部分。若一个算法为递归算法,其空间复杂度为递归所使用的堆栈空间的大小,它等于一次调用所分配的临时存储空间的大小乘以被调用的次数(即为递归调用的次数加 1,这个 1 表示开始进行的一次非递归调用)。算法的空间复杂度一般也以数量级的形式给出。如当一个算法的空间复杂度为一个常量,即不随被处理数据量 n 的大小而改变时,可表示为 O(1);当一个算法的空间复杂度与以 2 为底的 n 的对数成正比时,可表示为 O(log2n);当一个算法的空间复杂度与 n 成线性比例关系时,可表示为 O(n)。 - 算法的稳定性
排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前 2 个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果A[i] = A[j], A[i]原来在位置前,排序后 A[i]还是要在 A[j]位置前。
03-02
3万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-29
2009
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-28