排序
时间复杂度
可以理解为执行代码的行数
O(1)
:一次就可以取到目标元素;显而易见O(n)
是需要 n 次;那么O(log n)
是怎么来的呢?
假设有 n 个数,使用二分搜索:
所以用 log n
表达这种行为
冒泡排序
复杂度 O(
选择排序
插入排序
复杂度 O(
归并排序
快速排序(归分排序)
复杂度 O(nlog n),不稳定
链表
翻转链表(206)
- 思路:1 > 2 > 3 > 4 > null
- 让 1 的指向从 2 改成 3
- 让 2 的指向从 3 改成 1
- 让 1 的指向从 3 改成 4
- 让 3 的指向从 4 改成 2