Cerca a un BST W75159


Statement
 

pdf   zip   tar

Donat un arbre binari de cerca (BST) d’enters, implementa una funció que cerqui si un valor es troba a l’arbre.

/**
 * @brief Cerca un valor en un arbre binari de cerca.
 *
 * @param t Un arbre binari de cerca.
 * @param x Valor a cercar.
 * @returns `true` si `x` es troba a l'arbre `t`,
 *          `false` en cas contrari.
 */
bool bst_cerca(BinTree<int> t, int x);

Entrada

L’entrada consisteix en una seqüència d’arbres binaris de cerca d’enters, en format visual, cadascun seguit d’una seqüència d’enters a cercar.

Sortida

Per a cada arbre, i per a cada valor a cercar, una línia amb el valor i true o false segons si el valor es troba a l’arbre o no.

Observació

Els fitxers públics (icona del gatet) són: la classe BinTree (fitxer bintree.hh), l’entrada/sortida de BinTree (bintree-io.hh) i el programa principal. També hi ha un Makefile i el directori .vscode que té la configuració per compilar i debuggar amb VSCode.

Has d’implementar bst_cerca en un fitxer .cc nou, compilar (està preparat per poder compilar i debuggar amb VSCode), i finalment enviar només el fitxer amb la funció.

En aquest problema, l’eficiència és important.

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
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++