def inOrderNorec(rootNode): """ :param rootNode: :return: """ currenNode = rootNode while currenNode is not None or not s.isEmpty(): if currenNode is not None: s.push(currenNode) currenNode = currenNode.getLeftChild() else: currenNode = s.pop() print currenNode.getRootValue() currenNode = currenNode.getRightChild()
def postOrderNorec(rootNode): """ :param rootNode: :return: """ visited = BinaryTree(None) currentNode = rootNode while currentNode is not None or not s.isEmpty: if currentNode is not None: s.push(currentNode) currentNode = currentNode.getLeftChild() else: currentNode = s.pop() if currentNode.getRightChild is None or currentNode.getRightChild == visited: print currentNode.getRootValue visited = currentNode if not currentNode == visited: s.push(currentNode) currentNode = currentNode.getRightChild()