All pastes #781161 Raw Edit

Mine

public text v1 · immutable
·published 2007-11-18 19:48 UTC
rendered paste body
#!/usr/bin/env python

class Node:
	def __init__(self, value):
		self.data = value
		self.left = None
		self.right = None

	def addLeftChild(self, Node):
		self.left = Node

	def addRightChild(self, Node):
		self.right = Node

def recInOrder(t):
	if t is not None:
		recInOrder(t.left)
		print t.data
		recInOrder(t.right)

# we use a stack of course
def nonRecInOrder(t):
 	stack = []
	curr = t
	done = False 
	while(not done):
	  if(curr != None):
		stack.append(curr)
		curr = curr.left

	  else:
	  	if(not (len(stack) == 0)):
		  curr = stack.pop()
		  print curr.data
		  curr = curr.right

		else:
		  done = True
	
		
NodeA = Node("A")
NodeB = Node("B")
NodeC = Node("C")
NodeD = Node("D")
NodeE = Node("E")
NodeF = Node("F")
NodeG = Node("G")
NodeH = Node("H")
NodeI = Node("I")

NodeA.addLeftChild(NodeB)
NodeA.addRightChild(NodeC)

NodeB.addLeftChild(NodeD)
NodeB.addRightChild(NodeE)

NodeD.addLeftChild(NodeF)
NodeD.addRightChild(NodeG)

NodeG.addLeftChild(NodeH)
NodeG.addRightChild(NodeI)

print "Non-Recursive:"
nonRecInOrder(NodeA)
print
print "Recursive:"
recInOrder(NodeA)