refactor: Replace 结点 with 节点 (#452)

* Replace 结点 with 节点
Update the footnotes in the figures

* Update mindmap

* Reduce the size of the mindmap.png
This commit is contained in:
Yudong Jin
2023-04-09 04:32:17 +08:00
committed by GitHub
parent 3f4e32b2b0
commit 1c8b7ef559
395 changed files with 2056 additions and 2056 deletions
+15 -15
View File
@@ -14,23 +14,23 @@ class MaxHeap {
init(nums: [Int]) {
//
maxHeap = nums
//
//
for i in stride(from: parent(i: size() - 1), through: 0, by: -1) {
siftDown(i: i)
}
}
/* */
/* */
private func left(i: Int) -> Int {
2 * i + 1
}
/* */
/* */
private func right(i: Int) -> Int {
2 * i + 2
}
/* */
/* */
private func parent(i: Int) -> Int {
(i - 1) / 2 //
}
@@ -57,23 +57,23 @@ class MaxHeap {
/* */
func push(val: Int) {
//
//
maxHeap.append(val)
//
siftUp(i: size() - 1)
}
/* i */
/* i */
private func siftUp(i: Int) {
var i = i
while true {
// i
// i
let p = parent(i: i)
//
//
if p < 0 || maxHeap[i] <= maxHeap[p] {
break
}
//
//
swap(i: i, j: p)
//
i = p
@@ -86,9 +86,9 @@ class MaxHeap {
if isEmpty() {
fatalError("堆为空")
}
//
//
swap(i: 0, j: size() - 1)
//
//
let val = maxHeap.remove(at: size() - 1)
//
siftDown(i: 0)
@@ -96,11 +96,11 @@ class MaxHeap {
return val
}
/* i */
/* i */
private func siftDown(i: Int) {
var i = i
while true {
// i, l, r ma
// i, l, r ma
let l = left(i: i)
let r = right(i: i)
var ma = i
@@ -110,11 +110,11 @@ class MaxHeap {
if r < size(), maxHeap[r] > maxHeap[ma] {
ma = r
}
// i l, r
// i l, r
if ma == i {
break
}
//
//
swap(i: i, j: ma)
//
i = ma