Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
BinarySearchTree implementation in Python 3.5.2
#python 3.5.2 class Node: def __init__(self, data, left = None, right = None): self.left = left self.right = right self.data = data class BST: def __init__(self, datatype): self.__datatype = datatype self.__root = None def exist(self, key): if self.__root == None: return False if not isinstance(key, self.__datatype): raise TypeError temp = self.__root while temp != None: if key == temp.data: return True elif key > temp.data: temp = temp.right elif key < temp.data: temp = temp.left return False def insert(self, data): if not isinstance(data, self.__datatype): raise TypeError if self.exist(data): return False if self.__root == None: self.__root = Node(data); return True p = self.__root q = p while p != None: q = p if data > p.data: p = p.right elif data < p.data: p = p.left if data > q.data: q.right = Node(data) elif data < q.data: q.left = Node(data) return True def insert_recursively(self, data): if not isinstance(data, self.__datatype): raise TypeError q = self.__root p = self.__root return self.__insert_recursively(data, q, p) def __insert_recursively(self, data, q, p): if p == None: if data > q.data: q.right = Node(data) elif data < q.data: q.left = Node(data) return True if data == p.data: return False if data > p.data: return self.__insert_recursively(data, p, p.right) if data < p.data: return self.__insert_recursively(data, p, p.left) bst = BST(int) bst.insert(4) bst.insert(9) bst.insert_recursively(5) print(bst.exist(5))
run
|
edit
|
history
|
help
0
filtering python3
calculate the sum of string 201test70de88qa ( only numbers)
31 dec
Prime Factorization of a Number
practice
linked_lists
fibonaccii.py
Hai
arjun chinese class
sensi