Sequenza

Una sequenza è una struttura dati dinamica e lineare che rappresenta una serie ordinata (nel senso di prima e dopo) di valori, dove un valore può comparire più di una volta. L’ordine all’interno della sequenza è importante. Un esempio di implementazione della sequenza è la Linked List.

Operazioni ammesse

  • Data la posizione, è possibile aggiungere o rimuovere elementi;
  • È possibile accedere direttamente alla testa e alla coda;
  • È possibile accedere sequenzialmente a tutti gli altri elementi.

Specifica

MetodoDescrizione
boolean isEmpty()Restituisce true se la sequenza è vuota.
boolean finished(Pos p)Restituisce true se p è uguale a pos0 oppure a posn+1.
Pos head()Restituisce la posizione del primo elemento.
Pos tail()Restituisce la posizione dell’ultimo elemento.
Pos next(Pos p)Restituisce la posizione dell’elemento che segue p.
Pos prev(Pos p)Restituisce la posizione dell’elemento che precede p.
Pos insert(Pos p, Item v)Inserisce l’elemento vdi tipo Item nella posizione p e restituisce la posizione del nuovo elemento, che diviene il predecessore di p.
Pos remove (Pos p)Rimuove l’elemento contenuto nella posizione p e restituisce la posizione del successore di p, che diviene successore del predecessore di p.
Item read(Pos p)Legge l’elemento di tipo Item contenuto nella posizione p.
write(Pos p, Item v)Scrive l’elemento v di tipo Item nella posizione p.

Insieme

Un insieme è una struttura dati dinamica e non lineare che memorizza una collezione non ordinata di elementi senza valori ripetuti.
L’ordinamento fra elementi è dato dall’eventuale relazione d’ordine definita sul tipo degli elementi stessi (ad esempio alfabetico o numerico), non dalla struttura.

Operazioni ammesse

  • Operazioni base: inserimento, cancellazione, verifica se l’elemento è presente;
  • Operazioni di ordinamento: massimo, minimo;
  • Operazioni insiemistiche: unione, intersezione, differenza;
  • Iteratori: esegui per ogni x ∈ S.

Specifica

MetodoDescrizione
int sizeRestituisce la cardinalità dell’insieme.
boolean contains (Item x)Restituisce true se x è contenuto nell’insieme.
insert (Item x)Inserisce x nell’insieme, se non già presente.
remove (Item x)Rimuove x dall’insieme, se presente.
Set union (Set A, Set B)Restituisce un nuovo insieme che è l’unione di A e B.
Set intersection (Set A, Set B)Restituisce un nuovo insieme che è l’intersezione di A e B.
Set difference (Set A, Set B)Restituisce un nuovo insieme che è la differenza di A e B.

Dizionario

Un dizionario è una struttura dati che rappresenta il concetto matematico di relazione univoca , detta anche associazione chiave-valore.

  • L’insieme è detto dominio (gli elementi sono detti chiavi);
  • L’insieme è detto codominio (gli elementi sono detti valori).

Operazioni ammesse

  • Ottenere il valore associato ad una particolare chiave (se presente), o il valore nil se assente;
  • Inserire una nuova associazione chiave-valore, cancellando eventuali associazioni precedenti per la stessa chiave;
  • Rimuovere un’associazione chiave-valore esistente.

Specifica

MetodoDescrizione
Item lookup (Item k)Restituisce il valore associato alla chiave k se presente, nil altrimenti.
insert (Item k, Item v)Associa il valore v alla chiave k.
remove (Item k)Rimuove l’associazione della chiave k.