def deleteMax(map):
    """
    Encuentra y remueve la mayor llave de la tabla de simbolos
    y su valor asociado
    Args:
        map: La tabla de simbolos
    Returns:
        La tabla de simbolos sin la mayor llave
    Raises:
        Exception
    """
    if (map['type'] == 'BST'):
        return bst.deleteMax(map)
    else:
        return rbt.deleteMax(map)
Пример #2
0
def test_delete_max_min(tree):
    tree = bst.put(tree, 23, 'book21')
    tree = bst.put(tree, 7, 'book7')
    tree = bst.put(tree, 30, 'book30')
    tree = bst.put(tree, 5, 'book5')
    tree = bst.put(tree, 4, 'book4')
    tree = bst.put(tree, 3, 'book3')
    tree = bst.put(tree, 20, 'book20')
    tree = bst.put(tree, 25, 'book25')
    tree = bst.put(tree, 35, 'book35')
    tree = bst.put(tree, 29, 'book29')
    tree = bst.put(tree, 11, 'book11')
    tree = bst.put(tree, 15, 'book15')
    tree = bst.put(tree, 10, 'book10')
    assert bst.contains(tree, 3) is True
    assert bst.size(tree) == 13
    bst.deleteMin(tree)
    assert bst.contains(tree, 3) is False
    assert bst.size(tree) == 12
    assert bst.contains(tree, 35) is True
    assert bst.size(tree) == 12
    bst.deleteMax(tree)
    assert bst.contains(tree, 35) is False
    assert bst.size(tree) == 11