3- Árboles3.2 Árboles generales

Especificación de árboles generales
    espec árbolesOrdenados
      usa booleanos,naturales
      parámetro formal
        género elemento
      fpf
      géneros bosque,árbol
      operaciones
        bVacío: --> bosque
        +dch: bosque árbol --> bosque
        long: bosque --> nat
        parcial _[_]: bosque nat --> árbol
        enraizar: elemento bosque --> árbol
        raíz: árbol --> elemento
        parcial subárbol: árbol nat --> árbol
        numHijosRaiz: árbol --> nat
        hoja?: árbol --> bool
        altBosque: bosque --> nat
        altÁrbol: árbol --> nat
      dominios de definición b:bosque; i:nat; e:elemento; a:árbol
        1<=i<=long(b) --> b[i]
        1<=i<=long(b) --> subárbol(enraizar(e,b),i) 
      ecuaciones b:bosque; a:árbol; i:nat; e:elemento
        long(bVacío) = 0
        long(+dch(b,a)) = suc(long(b))
        +dch(b,a)[suc(long(b))] = a 
        i<suc(long(b)) --> +dch(b,a)[i] = b[i]
        raíz(enraizar(e,b)) = e
        subárbol(enraizar(e,b),i) = b[i]
        numHijosRaiz(enraizar(e,b)) = long(b)
        hoja?(a) = (numHijos(a) = 0)
        altBosque(bVacío) = -1
        altBosque(+dch(b,a)) = máx(altBosque(b),altÁrbol(a))
        altÁrbol(enraizar(e,b)) = suc(altBosque(b))
    fespec


  E.Mayordomo y K. Urzelai 
elvira at posta.unizar.es
karmelo at posta.unizar.es

Fecha de actualización: 4-9-01