Skip to content

Commit cc21ee8

Browse files
committed
use __slots__ save Node memory
1 parent 49e9b63 commit cc21ee8

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

docs/03_链表/double_link_list.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
class Node(object):
5+
__slots__ = ('value', 'prev', 'next') # save memory
56

67
def __init__(self, value=None, prev=None, next=None):
78
self.value, self.prev, self.next = value, prev, next

docs/03_链表/linked_list.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ linked_list.remove(value) | O(n) |
5757

5858
```py
5959
class Node(object):
60+
# 如果节点很多,我们可以用 __slots__ 来节省内存,把属性保存在一个 tuple 而不是 dict 里
61+
# 感兴趣可以自行搜索 python __slots__
62+
__slots__ = ('value', 'prev', 'next')
6063

6164
def __init__(self, value=None, prev=None, next=None):
6265
self.value, self.prev, self.next = value, prev, next

0 commit comments

Comments
 (0)