Skip to content

Commit 485a786

Browse files
committed
排版
1 parent fb2309a commit 485a786

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

docs/16_优先级队列/priority_queue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
# 实现优先级队列
77
优先级队列(Priority Queue) 顾名思义,就是入队的时候可以给一个优先级,通常是个数字或者时间戳等,
8-
当出队的时候我们希望按照给定的优先级出队,我们按照 TDD 的方式先来写测试代码:
8+
当出队的时候我们希望按照给定的优先级出队,我们按照 TDD(测试驱动开发) 的方式先来写测试代码:
99

1010
```py
1111
def test_priority_queue():

docs/17_二叉查找树/binary_search_tree.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# BST 定义
88

99
二叉查找树是这样一种二叉树结构,它的每个节点包含一个 key 和它附带的数据,对于每个内部节点 V:
10+
1011
- 所有 key 小于 V 的都被存储在 V 的左子树
1112
- 所有 key 大于 V 的都存储在 V 的右子树
1213

@@ -164,7 +165,7 @@ bst = BST.build_from(NODE_LIST)
164165
![](./bst_remove_leaf.png)
165166

166167
#### 删除只有一个孩子的节点
167-
删除有一个孩子的节点时,我们拿掉需要删除的节点,之后把它的父亲指向它的孩子就行,以为根据 BST
168+
删除有一个孩子的节点时,我们拿掉需要删除的节点,之后把它的父亲指向它的孩子就行,因为根据 BST
168169
左子树都小于节点,右子树都大于节点的特性,删除它之后这个条件依旧满足。
169170

170171
![](./bst_remove_node_with_one_child.png)
@@ -176,7 +177,7 @@ bst = BST.build_from(NODE_LIST)
176177

177178
但是这种方式可能会影响树的高度,降低查找的效率。这里我们用另一种非常巧妙的方式。
178179
还记得上边提到的吗,如果你中序遍历 BST 并且输出每个节点的 key,你会发现就是一个有序的数组。
179-
[1 4 12 23 29 37 41 60 71 84 90 100]这里我们定义两个概念,逻辑前任(predecessor)和后继(successor),请看下图:
180+
`[1 4 12 23 29 37 41 60 71 84 90 100]`这里我们定义两个概念,逻辑前任(predecessor)和后继(successor),请看下图:
180181

181182
![](./predecessor_successor.png)
182183

@@ -222,6 +223,7 @@ bst = BST.build_from(NODE_LIST)
222223
def remove(self, key):
223224
assert key in self
224225
self.size -= 1
226+
return self._bst_remove(self.root, key)
225227
```
226228

227229
完整代码你可以在本章的 bst.py 找到。

0 commit comments

Comments
 (0)