File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -45,7 +45,15 @@ infinite_fib(10)
45
45
后边会讲到递归,递归是初学者比较难理解的概念,在树的遍历等地方还会看到它。
46
46
47
47
48
+ # 数据结构头脑风暴法
49
+
50
+ 当我们不知道使用什么数据结构来解决问题的时候,《程序员面试金典》这本书的第六章提到了一种方式叫做『数据结构头脑风暴法』。
51
+ 这种笨方法就是快速过一遍数据结构的列表,然后逐一尝试各种数据结构看看哪个最适合。
52
+
53
+ 在你实现一个更高级的数据结构的时候,如果脑子没有思路,不妨尝试下这个方法,迅速过一遍你所知道的数据结构,看看哪种最适合。
54
+
48
55
# 思考题
49
- - 上一章我们用数组实现了队列,其实也能用数组来实现 栈,你能自己用数组来实现一个栈的 ADT 吗?
50
- - 这里我们自己实现了 Deque,你能用 python 内置的 collections.deque 实现栈吗?有轮子能直接用的话看起来就简单多了
56
+ - 上一章我们用数组实现了队列,其实也能用数组来实现栈,你能自己用数组来实现一个栈的 ADT 吗?
57
+ - 实际上借助 python 内置的 list/collections.deque 结构就很容易实现一个栈,请你尝试实现,本章我们全部使用自己编写的数据结构而没用到 python 内置的数据结构。
58
+ - 这里我们自己实现了 Deque,你能用 python 内置的 collections.deque 实现栈吗?有轮子能直接用的话看起来就简单多了,这里我们为了学习数据结构的实现就避免了直接使用内置结构
51
59
- 哪些经典算法里使用到了栈呢?
Original file line number Diff line number Diff line change @@ -142,7 +142,7 @@ def test_deque():
142
142
143
143
class Stack (object ):
144
144
def __init__ (self ):
145
- self .deque = Deque ()
145
+ self .deque = Deque () # 你可以很容易替换为 python 内置的 collections.deque
146
146
147
147
def push (self , value ):
148
148
self .deque .append (value )
You can’t perform that action at this time.
0 commit comments