return None q = Queue() s = Stack() q.enqueue(r) while not q.is_empty(): n = q.dequeue() s.push(n) if n.rightChild: q.enqueue(n.rightChild) if n.leftChild: q.enqueue(n.leftChild) while not s.is_empty(): print str(s.pop().value) n = BinaryTree(1) n.insertLeft(2) n.insertRight(3) nl = n.getLeftChild() nl.insertLeft(4) nl.insertRight(5) nr = n.getRightChild() nr.insertLeft(6) nr.insertRight(7) rev_level_order(n)
bst.insert(15) bst.insert(11) bst.insert(7) bst.insert(3) bst.level_order_trav() bt = BinaryTree("A") bt.insertLeft("B") bt.insertRight("C") l = bt.getLeftChild() l.insertLeft("D") l.insertRight("E") r = bt.getRightChild() r.insertLeft("F") r.insertRight("G") q = Queue() q.enqueue(bt) n=None while q.size > 0: n = q.dequeue() print str(n.value) if n.leftChild: q.enqueue(n.leftChild)