From 17348ee09296adb2500134b4df8aa1ce7a1719b6 Mon Sep 17 00:00:00 2001 From: larissalages Date: Sun, 18 Jul 2021 21:07:41 -0300 Subject: [PATCH] draft list_of_depths --- cracking_the_code/chapter4/list_of_depths.py | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 cracking_the_code/chapter4/list_of_depths.py diff --git a/cracking_the_code/chapter4/list_of_depths.py b/cracking_the_code/chapter4/list_of_depths.py new file mode 100644 index 0000000..258d91e --- /dev/null +++ b/cracking_the_code/chapter4/list_of_depths.py @@ -0,0 +1,36 @@ +import collections + + +def dfs_tree2list(node, lvl, arr): + if node is None: + return + if lvl >= len(arr): + linked_lst = collections.deque() # linkedlist + arr.append(linked_lst) + arr[lvl].append(node.value) + dfs_tree2list(node.left, lvl+1, arr) + dfs_tree2list(node.right, lvl+1, arr) + + +def dft_tree2list(node, arr): + current = collections.deque() # linkedlist + current.append(node) + + while current: # while not empty + arr.append(current) + parents = current + for parent in parents: + if parent.left: + current.append(parent.left) + if parent.right: + current.append(parent.right) + + +def main(): + # TODO: Create Tree + dfs_tree2list([], 0, []) + + +if __name__ == "__main__": + main() +