mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-23 18:11:45 +08:00
build
This commit is contained in:
@@ -56,7 +56,7 @@ comments: true
|
||||
|
||||
观察发现,归并排序的递归顺序就是二叉树的「后序遍历」。
|
||||
|
||||
- **后序遍历**:先递归左子树、再递归右子树、最后处理根结点。
|
||||
- **后序遍历**:先递归左子树、再递归右子树、最后处理根节点。
|
||||
- **归并排序**:先递归左子树、再递归右子树、最后处理合并。
|
||||
|
||||
=== "Java"
|
||||
@@ -507,7 +507,7 @@ comments: true
|
||||
|
||||
归并排序有一个很特别的优势,用于排序链表时有很好的性能表现,**空间复杂度可被优化至 $O(1)$** ,这是因为:
|
||||
|
||||
- 由于链表可仅通过改变指针来实现结点增删,因此“将两个短有序链表合并为一个长有序链表”无需使用额外空间,即回溯合并阶段不用像排序数组一样建立辅助数组 `tmp` ;
|
||||
- 由于链表可仅通过改变指针来实现节点增删,因此“将两个短有序链表合并为一个长有序链表”无需使用额外空间,即回溯合并阶段不用像排序数组一样建立辅助数组 `tmp` ;
|
||||
- 通过使用「迭代」代替「递归划分」,可省去递归使用的栈帧空间;
|
||||
|
||||
> 详情参考:[148. 排序链表](https://leetcode-cn.com/problems/sort-list/solution/sort-list-gui-bing-pai-xu-lian-biao-by-jyd/)
|
||||
|
||||
Reference in New Issue
Block a user