Skip to content

Instantly share code, notes, and snippets.

@javi830810
Last active July 6, 2016 17:51
Show Gist options
  • Save javi830810/c538fa5b201be63fc572434b64f10639 to your computer and use it in GitHub Desktop.
Save javi830810/c538fa5b201be63fc572434b64f10639 to your computer and use it in GitHub Desktop.
class Tree(object):
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def add(self, number):
if number <= self.value:
if self.left:
self.left.add(number)
else:
self.left = Tree(number)
else:
if self.right:
self.right.add(number)
else:
self.right = Tree(number)
def in_order(self):
string = ""
if self.left:
string += self.left.in_order()
string += str(self.value)
if self.right:
string += self.right.in_order()
return string
def findNextMinorToX(tree, x):
if not tree:
return None
if x > tree.value:
return max(findNextMinorToX(tree.right, x), tree.value)
else:
return findNextMinorToX(tree.left, x)
t = Tree(7)
t.add(5)
t.add(4)
t.add(3)
t.add(9)
t.add(8)
t.add(10)
x = 6
print "Printing In Order for Tree %s" % t.in_order()
print "Value of X: %s" % str(x)
print "Printing minor value than %s, %s" %(x, str(findNextMinorToX(t, x)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment