DIPARTIMENTO   DI   INFORMATICA
Università di Torino

16. Lezione del 24/11/03 (turno 1) e del 26/11/03 (turno 2) - LAB. UNIX

di: Algoritmi & Laboratorio ( Modulo 2 )

"Riassunto" della lezione:

  • Discussione sulle letture assegnate la scorsa settimana (Capitoli 16 e 18 di [Horstmann]).
  • L'ADT SortedSet.
  • Realizzazione dell'ADT SortedSet: la classe TreeSet.
  • L'ADT PriorityQueue.
    interface PriorityQueue
    {
       public void add(Object x);
    
       public int size();
    
       public Object removeFirst ();
    }
    
  • Realizzazione dell'ADT PriorityQueue: la classe TreePriorityQueue.
  • Scegliere un contenitore.
  • Files.

Esercizi assegnati:

  1. Leggere il Capitolo 14 del libro Horstmann. Eventuali richieste di spiegazioni dovranno essere rivolte al docente all'inizio della prima lezione in laboratorio della prossima settimana (il 1 Dicembre per il turno 1 e il 3 Dicembre per il turno 2). QUESTO MATERIALE SARA' OGGETTO DI DISCUSSIONE IN SEDE DI ESAME.
  2. (E24)
    Produrre la documentazione Javadoc (in italiano) per l'interfaccia PriorityQueue. ATTENZIONE: per lo stile dei commenti ispiratevi agli esempi nel libro e alla documentazione on-line della libreria Java.
  3. (E25)
    Modificate il codice della classe TreePriorityQueue (a pag. 737 di [Horstmann]) in modo che implementi l'interfaccia PriorityQueue. D'ora innanzi, quando parleremo di "classe TreePriorityQueue" ci riferiremo alla versione modificata della classe. Produrre la documentazione Javadoc (in italiano) per la classe TreePrioiityQueue.
  4. (E26)
    Scrivere una classe di test con interfaccia a menu', TestPriorityQueue, per la classe TreePriorityQueue. La parola TreePriorityQueue dovra' occorrere ESATTAMENTE UNA VOLTA nel codice della classe di test. Tutti i riferimenti agli oggetti TreePriorityQueue dovranno essere gestiti attraverso l'interfacci PriorityQueue.
  5. (E27)
    Realizzare una classe HeapPriorityQueue che implementi l'interfaccia PriorityQueue.
    ATTENZIONE: PRIMA DI SCRIVERE IL BODY DEI METODI: PRODUCETE LA DOCUMENTAZIONE Javadoc E SCRIVETE GLI INVARIANTI DELLA STRUTTURA DATI.
    Linee guida per lo svolgimento dell'esercizio: prima di idichiarare le variabili di istanza e scrivere gli invarianti della struttura dati:
    • Realizzare una classe Heap (procedendo del solito modo: prima le firme dei metodi e la documentazione Javadoc, poi le variabili di istanza e gli invarianti della struttura dati, poi il body dei metodi e la classe di test TestHeap).
    • Usare la classe Heap come tipo di una variabile di istanza della classe HeapPriorityQueue.
  6. (E28)
    Modificare la classe TestPriorityQueue dell'esercizio E26 in modo che diventi una classe di test per la classe HeapPriorityQueue dell'esercizio E27 (NOTA: e' sufficiente cambiare una parola sola del codice).


[Corso di Studi di Informatica]

Last update: Nov 24, 2003