コード例 #1
0
ファイル: bintree.py プロジェクト: DanishKhan14/DumbCoder
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()
コード例 #2
0
ファイル: bintree.py プロジェクト: DanishKhan14/DumbCoder
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()