dfs python in graph code example
Example 1: python depth first search
# left to right, pre-order depth first tree search, iterative. O(n) time/space
def depthFirstSearch(root):
st = [root]
while st:
current = st.pop()
print(current)
if current.right is not None: st.append(current.right)
if current.left is not None: st.append(current.left)
Example 2: python depth first search
# left to right, pre-order depth first tree search, recursive. O(n) time/space
def depthFirstSearchRec(root):
if root == None: return
print(root)
depthFirstSearch(root.left)
depthFirstSearch(root.right)