Haskell — Arbres amb talla

Considereu aquesta definició de tipus algebraic genèric per a arbres
binaris amb talla (nombre de nodes del subarbre a cada node):

    data STree a = Nil | Node Int a (STree a) (STree a) deriving Show

1.  Escriviu una funció isOk :: STree a -> Bool que indiqui si les
    talles dels nodes d’un arbre amb talles són correctes.

2.  Escriviu una funció nthElement :: STree a -> Int -> Maybe a que
    retorni l’n-èsim element en inordre (començant per 1) d’un arbre amb
    talla correcte, o Nothing si no existeix. El cost ha de ser O(h) on
    h és l’alçada de l’arbre.

3.  Escriviu una funció
    mapToElements :: (a -> b) -> STree a -> [Int] -> [Maybe b] que
    aplica (potser) una funció a una llista d’elements d’un arbre amb
    talla correcte (identificats per la seva posició en inordre).

4.  Feu que STree sigui un functor.

Fixeu-vos en els exemples.

Informació del problema

Autoria: Jordi Petit, Gerard Escudero

Generació: 2026-02-03T16:59:39.102Z

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