Búsqueda en un BST W75159


Statement
 

pdf   zip   tar

Dado un árbol binario de búsqueda (BST) de enteros, implementa una función que busque si un valor se encuentra en el árbol.

/**
 * @brief Busca un valor en un árbol binario de búsqueda.
 *
 * @param t Un árbol binario de búsqueda.
 * @param x Valor a buscar.
 * @returns `true` si `x` se encuentra en el árbol `t`,
 *          `false` en caso contrario.
 */
bool bst_cerca(BinTree<int> t, int x);

Entrada

La entrada consiste en una secuencia de árboles binarios de búsqueda de enteros, en formato visual, cada uno seguido de una secuencia de enteros a buscar.

Salida

Para cada árbol, y para cada valor a buscar, una línea con el valor y true o false según si el valor se encuentra en el árbol o no.

Observación

Los ficheros públicos (icono del gatito) son: la clase BinTree (fichero bintree.hh), la entrada/salida de BinTree (bintree-io.hh) y el programa principal. También hay un Makefile y el directorio .vscode con la configuración para compilar y depurar con VSCode.

Debes implementar bst_cerca en un fichero .cc nuevo, compilar (está preparado para poder compilar y depurar con VSCode), y finalmente enviar solo el fichero con la función.

En este problema, la eficiencia es importante.

Public test cases
  • Input

    visual
    10
    |-- 5
    |   |-- 2
    |   '-- 7
    '-- 15
        |-- 12
        '-- 20
    
    1 2 5 7 10 12 15 20 3 8 25
    

    Output

    1 false
    2 true
    5 true
    7 true
    10 true
    12 true
    15 true
    20 true
    3 false
    8 false
    25 false
    
  • Information
    Author
    Pau Fernández
    Language
    Spanish
    Translator
    Pau Fernández
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++