Skip to content
Snippets Groups Projects
Commit f57072e7 authored by Daniel Moix's avatar Daniel Moix
Browse files

Adding final lecture

parent 8adf91f8
No related branches found
No related tags found
No related merge requests found
def swap(list, i, j):
temp = list[i]
list[i] = list[j]
list[j] = temp
\ No newline at end of file
print("Hello CS 171")
from Node import Node
class BSTree:
def __init__(self):
self.__root = None
def __str__(self):
return str(self.__root)
def contains(self, value, parent="ROOT"):
if str(parent) == "ROOT":
parent = self.__root
if parent is None:
return False
if parent.getData() == value:
return True
elif value < parent.getData():
return self.contains(value, parent.getLeft())
else:
return self.contains(value, parent.getRight())
def insert(self, value, parent="ROOT"):
if self.__root is None:
self.__root = Node(value)
else:
if str(parent) == "ROOT":
parent = self.__root
if value <= parent.getData():
if(parent.getLeft() is None):
# Place it to the left
parent.setLeft(Node(value))
else:
self.insert(value, parent.getLeft())
else:
if(parent.getRight() is None):
# Place it to the right
parent.setRight(Node(value))
else:
self.insert(value, parent.getRight())
if __name__ == "__main__":
myTree = BSTree()
myTree.insert(8)
myTree.insert(6)
myTree.insert(7)
print(myTree.contains(5))
# root = Node(25)
# left = Node(10)
# right = Node(50)
#
# root.setLeft(left)
# root.setRight(right)
#
# print(root)
# print(root.getLeft())
# print(root.getRight())
class Node:
def __init__(self, data, left=None, right=None):
self.__data = data
self.__left = left
self.__right = right
def setLeft(self, newLeft):
self.__left = newLeft
def setRight(self, newRight):
self.__right = newRight
def getLeft(self):
return self.__left
def getRight(self):
return self.__right
def getData(self):
return self.__data
\ No newline at end of file
class Node:
def __init__(self, data, left=None, right=None):
self.__data = data
self.__left = left
self.__right = right
def setLeft(self, newLeft):
self.__left = newLeft
def setRight(self, newRight):
self.__right = newRight
def getLeft(self):
return self.__left
def getRight(self):
return self.__right
def getData(self):
return self.__data
def __str__(self):
return str(self.__data)
def __lt__(self, other):
return self.__data < other.getData()
def __gt__(self, other):
return self.__data > other.getData()
def __eq__(self, other):
return self.__data == other.getData()
def __le__(self, other):
return self.__data <= other.getData()
def __ge__(self, other):
return self.__data >= other.getData()
\ No newline at end of file
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment