mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-24 18:43:59 +08:00
build
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 11.7. 堆排序
|
||||
# 11.7 堆排序
|
||||
|
||||
!!! tip
|
||||
|
||||
@@ -15,7 +15,7 @@ comments: true
|
||||
|
||||
以上方法虽然可行,但需要借助一个额外数组来保存弹出的元素,比较浪费空间。在实际中,我们通常使用一种更加优雅的实现方式。
|
||||
|
||||
## 11.7.1. 算法流程
|
||||
## 11.7.1 算法流程
|
||||
|
||||
设数组的长度为 $n$ ,堆排序的流程如下:
|
||||
|
||||
@@ -540,7 +540,7 @@ comments: true
|
||||
}
|
||||
```
|
||||
|
||||
## 11.7.2. 算法特性
|
||||
## 11.7.2 算法特性
|
||||
|
||||
- **时间复杂度 $O(n \log n)$ 、非自适应排序** :建堆操作使用 $O(n)$ 时间。从堆中提取最大元素的时间复杂度为 $O(\log n)$ ,共循环 $n - 1$ 轮。
|
||||
- **空间复杂度 $O(1)$ 、原地排序** :几个指针变量使用 $O(1)$ 空间。元素交换和堆化操作都是在原数组上进行的。
|
||||
|
||||
Reference in New Issue
Block a user