Io ho risolto così la specifica... non so se è corretta... volevo un confronto
tipi trie = lista ordinata <a1,...,an> di elementi di tipo stringa. Agli elementi è attribuita una relazione d'ordine parziale "<". indico con #1640; la sequenza vuota.
stringa=insieme definito di caratteri. lista =sequenza di elementi di tipo stringa intero=insieme dei numeri naturali booleano = insieme di valori di verità {vero,falso} operazioni creatrie()=T post: t=#1640; inserisci(T,s)=T' pre: t=#1640; o t =a1,...,an n>=1 post: T'=s se T=#1640;, T'=a1,...,ai-1,s,ai,ai+1,...,an. i è la posizione ottenuta secondo la relazione di precedenza
trova(t,s)=b pre t=a1,..,an, n>=1 post: b=vero se #8704;i#8712;[1,n]E(esiste)(j#8712;[1,n]|s=aj, b =falso altrimenti
nuovo(t)=b pre t=#1640; o t=a1,...,an post b=vero se t=#1640;, b=falso altrimenti
primo(t)=s' pre t=a1,...,an n>=1 post s'=a1
tutte(t)=l pre t=a1,...,an n>=1 post L= è la lista di tutti gli elementi indicati una e una sola volta di t Dimensione(t)=i pre t=a1,...,an post i=n
prefisso(t,s)=l pre: t=a1,...an n>=1 post l è una lista di elementi di t che hanno lo stesso prefisso di s
non so se è corretto
|