def simple_tree():
    t = BinaryTree()
    t.insert(5)
    t.insert(10)
    t.insert(2)
    t.insert(17)
    return t
Example #2
0
def unbalanced_tree():
    t = BinaryTree()
    t.insert(5)
    t.insert(6)
    t.insert(7)
    t.insert(8)
    t.insert(9)
    t.insert(4)
    return t
Example #3
0
def balanced_tree():
    t = BinaryTree()
    t.insert(5)
    t.insert(2)
    t.insert(1)
    t.insert(3)
    t.insert(8)
    t.insert(7)
    t.insert(9)
    return t
Example #4
0
def complex_tree():
    t = BinaryTree()
    t.insert(100)
    t.insert(80)
    t.insert(60)
    t.insert(40)
    t.insert(20)
    t.insert(50)
    t.insert(70)
    t.insert(90)
    t.insert(85)
    t.insert(95)
    t.insert(120)
    t.insert(140)
    t.insert(160)
    t.insert(180)
    t.insert(110)
    t.insert(175)
    t.insert(170)
    t.insert(176)
    return t
def test_balance_one_node_tree_returns_1():
    t = BinaryTree()
    t.insert(1)
    assert t.balance() == 0
def test_binarytree():
    t = BinaryTree()
    assert t.root is None
def empty_tree():
    t = BinaryTree()
    return t
Example #8
0
def large_binary_tree():
    bt = BinaryTree([20, 18, 12, 19, 11, 14, 40, 31, 22, 33])
    return bt
Example #9
0
def test_binary_tree_initializes():
    assert BinaryTree([1, 2, 3])
Example #10
0
def small_binary_tree():
    bt = BinaryTree([10, 4, 39])
    return bt
Example #11
0
    if root is None: return []
    stack, res = [(root, False)], []
    while stack:
        cur, visited = stack.pop()
        if cur is None: continue
        if visited:
            res.append(cur.val)
        else:
            stack.append((cur, True))
            stack.append((cur.right, False))
            stack.append((cur.left, False))
    return res


if __name__ == '__main__':
    bst = BinaryTree(serialize=','.join(map(str, range(1, 1 << 5))))

    pre = bst.pre_order()
    assert pre == pre_order1(bst.root)
    assert pre == pre_order2(bst.root)
    assert pre == pre_order3(bst.root)
    assert pre == pre_order4(bst.root)

    in_ = bst.in_order()
    assert in_ == in_order1(bst.root)
    assert in_ == in_order2(bst.root)
    assert in_ == in_order3(bst.root)

    post = bst.post_order()
    assert post == post_order1(bst.root)
    assert post == post_order2(bst.root)
 def __init__(self):
     self.tree = BinaryTree()
     self.size = 0