大O表示法指出的是最糟糕情况下的运行时间
一些常见的大O运行时间
- O(logn), 对数时间,比如二分查找
- O(n),线性时间,比如简单查找
- O(n*logn), 比如快速排序
- O(n^2), 比如选择排序
- O(n!), 很慢,旅行商问题
数组和链表操作的复杂度
操作 | 数组 | 链表 |
---|---|---|
查找 | O(1) | O(n) |
插入 | O(n) | O(1) |
删除 | O(n) | O(1) |
插入和删除都是仅考虑当前操作的复杂度,实际上如果链表是中间插入或删除也要考虑查找的复杂度。
大O表示法指出的是最糟糕情况下的运行时间
一些常见的大O运行时间
数组和链表操作的复杂度
操作 | 数组 | 链表 |
---|---|---|
查找 | O(1) | O(n) |
插入 | O(n) | O(1) |
删除 | O(n) | O(1) |
插入和删除都是仅考虑当前操作的复杂度,实际上如果链表是中间插入或删除也要考虑查找的复杂度。