时间复杂度用大 O 记号描述算法运行时间随数据规模 n 增长的快慢,只保留增长最快的项。常见复杂度从快到慢:O(1) 常数、O(log n) 对数(如二分查找)、O(n) 线性(如遍历)、O(n log n)(如快速排序)、O(n²) 平方(如冒泡排序)。n 越大,高复杂度算法的运行次数增长越惊人,所以要尽量选用低复杂度的算法。
O(1) < O(log n) < O(n) < O(n log n) < O(n²)
只保留最高阶项,忽略常数和低阶项
· 二分查找 O(log n),冒泡排序 O(n²)
· 数据规模越大,越要重视复杂度