Beispiel #1
0
        maxlevel.value = level
    _leftViewRec(root.left, level + 1, maxlevel)
    _leftViewRec(root.right, level + 1, maxlevel)
    return


def rightViewRec(root):
    m = MaxLevel(-1)
    _rightViewRec(root, 0, m)


def _rightViewRec(root, level, maxlevel):
    if root is None:
        return
    if maxlevel.value < level:
        print(root.data)
        maxlevel.value = level
    _rightViewRec(root.right, level + 1, maxlevel)
    _rightViewRec(root.left, level + 1, maxlevel)
    return


t = BinaryTree()
t.insertLeft(5)
t.insertLeft(4)
t.insertLeft(3)
t.insertRight(7)
t.insertRight(9)
t.insertLeftNode(7, 6)
t.insertRightNode(9, 11)
rightView(t.root)
Beispiel #2
0
from binarytree import BinaryTree

# Create a test tree: bt
bt = BinaryTree('HTML')
bt.insertLeft('HEAD')
bt.insertRight('BODY')
head = bt.left_node
head.insertLeft('META')
head.insertRight('TITLE')
body = bt.right_node
body.insertLeft('HEADING')
body.insertRight('CONTENT')
content = body.right_node
content.insertRight('WRAPPER')


bt.pre_order()

print()

bt.in_order()

print()

bt.post_order()
Beispiel #3
0

def isMirror(t1, t2):
    if t1 is None and t2 is None:
        return True
    if t1 is None and t2 is not None:
        return False
    if t1 is not None and t2 is None:
        return False
    if (t1.data == t2.data and isMirror(t1.left, t2.right)
            and isMirror(t1.right, t2.left)):
        return True
    return False


t = BinaryTree()
t.insertLeft(5)
t.insertLeft(4)
t.insertRight(7)

s = BinaryTree()
s.insertLeft(5)
s.insertLeft(4)
s.insertRight(7)

r = BinaryTree()
r.insertLeft(5)
r.insertLeft(7)
r.insertRight(4)

print(isMirror(t.root, r.root))
Beispiel #4
0
from binarytree import BinaryTree
r = BinaryTree('a')
print(r.getRootVal())
print(r.getLeftChild())
r.insertLeft('b')  #insert a node
print(r.getLeftChild())  #get that node
print(r.getLeftChild().getRootVal())  #get that node, get that key(name)
r.insertRight('c')
print(r.getRightChild().getRootVal())  #get the name of right child
r.getRightChild().setRootVal('hello')
print(r.getRightChild().getRootVal())  #get the changed name of right child
r.insertRight('o')
print('-----')
print(r.getRightChild().getRootVal())
print(r.getRightChild().getRightChild().getRootVal())
Beispiel #5
0
from binarytree import BinaryTree

# create a sample tree, bt

bt = BinaryTree(1)
bt.insertLeft(2)
bt.insertRight(5)

l1 = bt.left_node
l1.insertLeft(3)
l1.insertRight(4)

r1 = bt.right_node
r1.insertLeft(6)
r1.insertRight(7)


bt.bfs()