def exp_tree():
    exp = BinaryTree('+')
    exp.add_child('+', '*')
    exp.add_child('+', 'e')
    exp.add_child('*', 'c')
    exp.add_child('*', '+')
    exp.add_child('+', 'd')
    exp.add_child('+', 'g')
    print("Recorrido en preorden", exp.preorder())
def test_binary_tree():
    bt = BinaryTree()
    bt.add_child(None, 'A')
    print(bt.add_child('A', 'B'))
    print(bt.add_child('A', 'C'))
    print(bt.add_child('B', 'D'))
    print(bt.add_child('B', 'E'))
    print(bt.add_child('D', 'H'))
    print(bt.add_child('E', 'I'))
    print(bt.add_child('E', 'J'))
    print(bt.add_child('C', 'F'))
    print(bt.add_child('C', 'G'))
    print("Recorrido en preorden: ", bt.preorder())
    print("Recorrido en postorden: ", bt.postorder())
    print("Recorrido en entreorden: ", bt.inorder())
    print("Recorrido a lo ancho:", bt.bfs())