时间与空间复杂度
复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系
和性能测试相比,复杂度分析有不依赖执行环境、成本低、效率高、易操作、指导性强的特点
复杂度量级,我们可以粗略地分为两类,多项式量级
和 非多项式量级
。其中,非多项式量级只有两个:O(2n)和O(n!)
我们把时间复杂度为非多项式量级的算法问题叫作NP(Non-Deterministic Polynomial,非确定多项式)问题
当数据规模n越来越大时,非多项式量级算法的执行时间会急剧增加,求解问题的执行时间会无限增长。所以,非多项式时间复杂度的算法其实是非常低效的算法
Big O notation(大O表示法)
算