这是一道很好的面试题。考察了链表、排序等基本数据结构的使用。同时还融合了递归(分治)的思想。同时分析归并排序的复杂度也不是一件很轻松的事情,值得学习。
1. 题目
2. 分析
本题的难点在于分析时间复杂度和空间复杂度。
3. 代码
3.1 自顶向下的归并排序
上面这个代码的复杂度分别是:
- 时间复杂度:
O(NlogN)
- 空间复杂度:
O(logN)
这是一道很好的面试题。考察了链表、排序等基本数据结构的使用。同时还融合了递归(分治)的思想。同时分析归并排序的复杂度也不是一件很轻松的事情,值得学习。
本题的难点在于分析时间复杂度和空间复杂度。
上面这个代码的复杂度分别是:
O(NlogN)
O(logN)