家长常听孩子说 "O(n)"、"时间复杂度",不知道什么意思。本文用生活例子讲清楚。
通俗理解
时间复杂度 = 算法运行时间随数据规模的增长率。
生活例子
例子1:找一本书(线性)
100 本书一本本找,找第 100 本要看 100 次。这是 O(n)。
例子2:查字典(二分)
字典每次翻一半,1000 页最多 10 次。这是 O(log n)。
例子3:写名字(常数)
无论多少学生,每个学生写名字 1 次。这是 O(1)。
例子4:双重循环
n 个数两两比较,n×(n-1)/2 次。这是 O(n²)。
复杂度对比(n=10000 时)
- O(1):1 次
- O(log n):14 次
- O(n):10000 次
- O(n log n):140000 次
- O(n²):1 亿次
咨询孩子算法学习:151 6522 2880