Skip to content

Commit a3136d4

Browse files
committed
数据结构头脑风暴法
1 parent cd7c4c9 commit a3136d4

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

docs/05_栈/stack.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,15 @@ infinite_fib(10)
4545
后边会讲到递归,递归是初学者比较难理解的概念,在树的遍历等地方还会看到它。
4646

4747

48+
# 数据结构头脑风暴法
49+
50+
当我们不知道使用什么数据结构来解决问题的时候,《程序员面试金典》这本书的第六章提到了一种方式叫做『数据结构头脑风暴法』。
51+
这种笨方法就是快速过一遍数据结构的列表,然后逐一尝试各种数据结构看看哪个最适合。
52+
53+
在你实现一个更高级的数据结构的时候,如果脑子没有思路,不妨尝试下这个方法,迅速过一遍你所知道的数据结构,看看哪种最适合。
54+
4855
# 思考题
49-
- 上一章我们用数组实现了队列,其实也能用数组来实现 栈,你能自己用数组来实现一个栈的 ADT 吗?
50-
- 这里我们自己实现了 Deque,你能用 python 内置的 collections.deque 实现栈吗?有轮子能直接用的话看起来就简单多了
56+
- 上一章我们用数组实现了队列,其实也能用数组来实现栈,你能自己用数组来实现一个栈的 ADT 吗?
57+
- 实际上借助 python 内置的 list/collections.deque 结构就很容易实现一个栈,请你尝试实现,本章我们全部使用自己编写的数据结构而没用到 python 内置的数据结构。
58+
- 这里我们自己实现了 Deque,你能用 python 内置的 collections.deque 实现栈吗?有轮子能直接用的话看起来就简单多了,这里我们为了学习数据结构的实现就避免了直接使用内置结构
5159
- 哪些经典算法里使用到了栈呢?

docs/05_栈/stack.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def test_deque():
142142

143143
class Stack(object):
144144
def __init__(self):
145-
self.deque = Deque()
145+
self.deque = Deque() # 你可以很容易替换为 python 内置的 collections.deque
146146

147147
def push(self, value):
148148
self.deque.append(value)

0 commit comments

Comments
 (0)