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

View File

@@ -15,7 +15,7 @@ class BinarySearchTree {
root = buildTree(nums: nums, i: 0, j: nums.count - 1) //
}
/* */
/* */
func getRoot() -> TreeNode? {
root
}
@@ -25,7 +25,7 @@ class BinarySearchTree {
if i > j {
return nil
}
//
//
let mid = (i + j) / 2
let root = TreeNode(x: nums[mid])
//
@@ -34,29 +34,29 @@ class BinarySearchTree {
return root
}
/* */
/* */
func search(num: Int) -> TreeNode? {
var cur = root
//
//
while cur != nil {
// cur
// cur
if cur!.val < num {
cur = cur?.right
}
// cur
// cur
else if cur!.val > num {
cur = cur?.left
}
//
//
else {
break
}
}
//
//
return cur
}
/* */
/* */
func insert(num: Int) -> TreeNode? {
//
if root == nil {
@@ -64,9 +64,9 @@ class BinarySearchTree {
}
var cur = root
var pre: TreeNode?
//
//
while cur != nil {
//
//
if cur!.val == num {
return nil
}
@@ -80,7 +80,7 @@ class BinarySearchTree {
cur = cur?.left
}
}
// val
// val
let node = TreeNode(x: num)
if pre!.val < num {
pre?.right = node
@@ -90,7 +90,7 @@ class BinarySearchTree {
return node
}
/* */
/* */
@discardableResult
func remove(num: Int) -> TreeNode? {
//
@@ -99,43 +99,43 @@ class BinarySearchTree {
}
var cur = root
var pre: TreeNode?
//
//
while cur != nil {
//
//
if cur!.val == num {
break
}
pre = cur
// cur
// cur
if cur!.val < num {
cur = cur?.right
}
// cur
// cur
else {
cur = cur?.left
}
}
//
//
if cur == nil {
return nil
}
// = 0 or 1
// = 0 or 1
if cur?.left == nil || cur?.right == nil {
// = 0 / 1 child = null /
// = 0 / 1 child = null /
let child = cur?.left != nil ? cur?.left : cur?.right
// cur
// cur
if pre?.left === cur {
pre?.left = child
} else {
pre?.right = child
}
}
// = 2
// = 2
else {
// cur
// cur
let nex = getInOrderNext(root: cur?.right)
let tmp = nex!.val
// nex
// nex
remove(num: nex!.val)
// nex cur
cur?.val = tmp
@@ -143,13 +143,13 @@ class BinarySearchTree {
return cur
}
/* root */
/* root */
func getInOrderNext(root: TreeNode?) -> TreeNode? {
var root = root
if root == nil {
return root
}
// 访
// 访
while root?.left != nil {
root = root?.left
}
@@ -167,24 +167,24 @@ enum _BinarySearchTree {
print("\n初始化的二叉树为\n")
PrintUtil.printTree(root: bst.getRoot())
/* */
/* */
var node = bst.search(num: 7)
print("\n查找到的点对象为 \(node!)点值 = \(node!.val)")
print("\n查找到的点对象为 \(node!)点值 = \(node!.val)")
/* */
/* */
node = bst.insert(num: 16)
print("\n插入点 16 后,二叉树为\n")
print("\n插入点 16 后,二叉树为\n")
PrintUtil.printTree(root: bst.getRoot())
/* */
/* */
bst.remove(num: 1)
print("\n删除点 1 后,二叉树为\n")
print("\n删除点 1 后,二叉树为\n")
PrintUtil.printTree(root: bst.getRoot())
bst.remove(num: 2)
print("\n删除点 2 后,二叉树为\n")
print("\n删除点 2 后,二叉树为\n")
PrintUtil.printTree(root: bst.getRoot())
bst.remove(num: 4)
print("\n删除点 4 后,二叉树为\n")
print("\n删除点 4 后,二叉树为\n")
PrintUtil.printTree(root: bst.getRoot())
}
}