Fine-tune code and texts.

This commit is contained in:
krahets
2023-10-27 01:01:21 +08:00
parent 3628b40f44
commit 5b1a219b8b
4 changed files with 7 additions and 11 deletions

View File

@ -55,10 +55,7 @@
[file]{merge_sort}-[class]{}-[func]{merge_sort}
```
实现合并函数 `merge()` 存在以下难点
- **需要特别注意各个变量的含义**。`nums` 的待合并区间为 `[left, right]` ,但由于 `tmp` 仅复制了 `nums` 该区间的元素,因此 `tmp` 对应区间为 `[0, right - left]`
- 在比较 `tmp[i]``tmp[j]` 的大小时,**还需考虑子数组遍历完成后的索引越界问题**,即 `i > leftEnd``j > rightEnd` 的情况。索引越界的优先级是最高的,如果左子数组已经被合并完了,那么不需要继续比较,直接合并右子数组元素即可。
值得注意的是,`nums` 的待合并区间为 `[left, right]` ,而 `tmp` 的对应区间为 `[0, right - left]`
## 算法特性