Arbre de Strings X51271


Statement
 

pdf   zip   tar

html

Implementeu una funció RECURSIVA que, donat una paraula i un conjunt d’arbres binaris, busqui per branques i retorni si aquests contenen la paraula donada en l’ordre correponent. Aquesta és la capçelera:

// Pre:
// Post: retorna si l'arbre conté les paraules donades.
int treeOfStrings(BinaryTree <char> t, string s);

Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que haureu d’utilitzar per a compilar: Makefile, program.cpp, BinaryTree.hpp, treeOfStrings.hpp. Us falta crear el fitxer treeOfStrings.cpp amb els corresponents includes i implementar-hi la funció anterior. Quan pugeu la vostra solució al jutge, només cal que pugeu un tar construït així:

tar cf solution.tar treeOfStrings.cpp

Entrada

L’entrada té un nombre arbitrari de casos. Cada cas consisteix en una línia amb un string que pot contenir diversos arbres binaris. Fixeu-vos en que el programa que us oferim ja s’encarrega de llegir aquestes entrades. Només cal que implementeu la funció abans esmentada.

Sortida

Per a cada cas, la sortida conté la verificació si es inclosa en els arbres. Fixeu-vos en que el programa que us oferim ja s’encarrega d’escriure aquesta verificació. Només cal que implementeu la funció abans esmentada.

Observació

Heu de trobar una solució RECURSIVA del problema. En les crides recursives, incloeu la hipòtesi d’inducció, és a dir una explicació del que es cumpleix després de la crida, i també la funció de fita/decreixement o una justificació de perquè la funció recursiva acaba.

Public test cases
  • Input

    hola 
    o(l(a)) 
    h(o(l(a)))
    o(l)
    e(l(p(e(h(o(l(a)))))

    Output

    FALSE
    TRUE
    FALSE
    TRUE
    
  • Input

    armani
    a(r(m(a(n(i),e),o),a,))
    a(r(m(a(r(i,o)o))))
    a(r(m(a(n(i(e)r)t)e)t))

    Output

    TRUE
    FALSE
    TRUE
    
  • Information
    Author
    Estudiants PRO1
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make