MCPcopy Index your code
hub / github.com/BeeBombshell/Python-DSA / Tree

Class Tree

Tree Data Structure/binarytree.py:8–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6 self.v = val
7#class made for tree
8class Tree:
9 def __init__(self):
10 self.root = None
11
12 def getRoot(self):
13 return self.root
14
15 #to add a new node in tree
16 def add(self, val):
17 if self.root is None:
18 self.root = Node(val)
19 else:
20 self._add(val, self.root)
21
22 # to add elemnts in tree
23 def _add(self, val, node):
24 if val < node.v:
25 if node.l is not None:
26 self._add(val, node.l)
27 else:
28 node.l = Node(val)
29 else:
30 if node.r is not None:
31 self._add(val, node.r)
32 else:
33 node.r = Node(val)
34 #to find an element if present in root node in tree
35 def find(self, val):
36 if self.root is not None:
37 return self._find(val, self.root)
38 else:
39 return None
40 # to find any element in tree
41 def _find(self, val, node):
42 if val == node.v:
43 return node
44 elif (val < node.v and node.l is not None):
45 return self._find(val, node.l)
46 elif (val > node.v and node.r is not None):
47 return self._find(val, node.r)
48
49 def deleteTree(self):
50 # garbage collector will do this for us.
51 self.root = None
52
53 #to print the tree
54 def printTree(self):
55 if self.root is not None:
56 self._printTree(self.root)
57
58 def _printTree(self, node):
59 if node is not None:
60 self._printTree(node.l)
61 print(str(node.v) + ' ')
62 self._printTree(node.r)
63
64tree = Tree()
65tree.add(3)

Callers 1

binarytree.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected