From 9277a0790d4925f1fd50c789cc83a27096f543e7 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Wed, 16 Sep 2020 02:35:13 +0200 Subject: Major update: obj oriented tree --- recursive_node.py | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 recursive_node.py (limited to 'recursive_node.py') diff --git a/recursive_node.py b/recursive_node.py new file mode 100644 index 0000000..22bc75d --- /dev/null +++ b/recursive_node.py @@ -0,0 +1,58 @@ +import numpy as np + + +class Node(): + """ + @todo: docstring for Node + """ + def __init__(self, value=None): + """@todo: Docstring for init method. + + /value=None/ @todo + + """ + self.value = value + + def add_split(self, left, right): + """ + @todo: Docstring for add_split + """ + self.left = left + self.right = right + + +class Tree(): + """ + @todo: docstring for Tree + """ + def __init__(self, root_node_obj): + """@todo: Docstring for init method. + + /root_node_obj/ @todo + + """ + self.tree = root_node_obj + + def __repr__(self): + nodelist = [self.tree] + tree_str = '' + while nodelist: + current_node = nodelist.pop() + # print(current_node.value) + try: + childs = [current_node.right, current_node.left] + nodelist += childs + except AttributeError: + pass + tree_str += current_node.value + return tree_str + + +n1 = Node(value="root\n") +n2 = Node(value="left child of n1, ") +n3 = Node(value="right child of n1") + +n1.add_split(n2, n3) + +my_tree = Tree(n1) +print(my_tree) -- cgit v1.2.3