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);
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.
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.
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.
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