Skip to content

Commit a429c7e

Browse files
committed
Start working on depth search
1 parent 0d9b26e commit a429c7e

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

search/binary_search_tree.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@ def __init__(self, value):
55
self.right = None
66

77
def depth_first_for_each(self, cb):
8-
pass
8+
def rec(current_node):
9+
if current_node.left is None and current_node.right is None:
10+
return current_node.value
11+
if current_node.left is not None:
12+
cb(current_node.left.value)
13+
if current_node.right is not None:
14+
cb(current_node.right.value)
15+
16+
if current_node.left is not None:
17+
rec(current_node.left)
18+
if current_node.right is not None:
19+
rec(current_node.right)
20+
rec(self)
921

1022
def breadth_first_for_each(self, cb):
1123
q = Queue()
@@ -77,3 +89,14 @@ def dequeue(self):
7789
return
7890
self.size += -1
7991
return self.storage.pop(0)
92+
93+
94+
class Stack:
95+
def __init__(self):
96+
self.items = []
97+
98+
def push(self, item):
99+
self.items.append(item)
100+
101+
def pop(self):
102+
return self.items.pop()

0 commit comments

Comments
 (0)