Programmazione Avanzata

Corso di Laurea Specialistica in Informatica

Anno Accademico 2007/08


Stefano Guerrini

guerrini at di.uniroma1.it



Progettino sull'uso dei Generici in Java



[ Lezioni ] [ Corso 2007-08 ] [ Pagina principale ]

Progettazione di una gerarchia per relazioni e grafi.

Utilizzando classi e metodi generici scrivere delle classi java che implementano coppie di oggetti generici. Quindi, definire una opportuna sotto-classe delle coppie per implementare archi orientati etichettati con valori generici.

Usando le coppie, scrivere la classe che permette di implementare una relazione binaria R e i metodi:

  • per il calcolo dell'insieme dei b tali che R(a,b) per un dato a
  • per il calcolo dell'insieme dei b tali che R(b,a) per un dato a
  • per il calcolo dell'insieme dei b tali che R(a,b) per a appartenente ad un insieme S
  • per il calcolo dell'insieme dei b tali che R(b,a) per a appartenente ad un insieme S
  • analoghi ai precedenti che però restituiscono l'insieme delle coppie, o più in generale degli oggetti appartenenti a un sottotipo delle coppie, che verificano le condizioni richieste
  • per il calcolo della composizione di due relazioni
  • per il calcolo della chiusura transitiva di una relazione
Scrivere altre funzioni generiche su relazioni che possono essere utili.

Definire una opportuna sotto-classe della classe per relazione che permetta di implementare grafi etichettati sugli archi.

Implementare in modo generico la composizione di grafi in modo tale che il grafo risultato contenga un arco a, b se e solo se R(a,c) e R(c,b) per qualche c, usando una funzione generica per la composizione delle etichette degli archi. (N.B. Bisogna anche gestire in qualche modo il caso in cui esiste più di un nodo c tale che la coppia di archi R(a,c) e R(c,b) è contenuta nel grafo.)

Verificare se la versione implementata garantisce veramente la presenza solo di coppie distinte, ovvero di archi tra coppie di nodi distinti. A seconda della risposta, provare a estendere o a riutilizzare il codice in modo di garantire che tra due archi non possano esserci due archi distinti (nemmeno con etichette diverse), e/o in modo che sia possibile avere più di un arco tra due nodi. Ridefinire la composizione di grafi per il caso in cui si possono avere archi multipli (in questo caso, due percorsi distinti a,c,b e a,c',b tra i nodi a e b, danno luogo a due archi diversi).

-- StefanoGuerrini - 23 May 2008

Topic revision: r1 - 2008-05-23 - StefanoGuerrini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback