Clojure — Arbre binari

image

7cm Aquest problema planteja el treball amb arbres binaris.

Penseu un tipus en clojure per guardar arbres binaris de nombres naturals.

Definiu, amb la funció @def@, @t1@ com l’arbre que mostra la figura.

Feu el mateix amb @t2@ i @t3@ tenin en compte que són els seu dos fills.

  1. Feu una funció @size@ que, donat un arbre, retorni la seva talla, és a dir, el nombre de nodes que conté.

  2. Feu una funció @height@ que, donat un arbre, retorni la seva alçada, assumint que els arbres buits tenen alçada zero.

  3. Feu una funció @equal@ que, donat dos arbres, indiqui si són el mateix.

  4. Feu una funció @pre-order@ que, donat un arbre, retorni el seu recorregut en pre-ordre.

  5. Feu una funció @post-order@ que, donat un arbre, retorni el seu recorregut en post-ordre.

  6. Feu una funció @in-order@ que, donat un arbre, retorni el seu recorregut en in-ordre.

  7. Feu una funció @breadth-first@ que, donat un arbre, retorni el seu recorregut per nivells.

  8. Feu una funció @build@ que, donat el recorregut en pre-ordre d’un arbre i el recorregut en in-ordre del mateix arbre, retorni l’arbre original. Assumiu que l’arbre no té elements repetits.

Puntuació

Cada apartat puntua 12,5 punts.

Informació del problema

Autoria: Jordi Petit / Gerard Escudero

Generació: 2026-01-25T20:03:08.766Z

© Jutge.org, 2006–2026.
https://jutge.org