Laboratorio 5 marzo 2014 Tecnologie 4n Tavola periodica Soluzione

Comments Off on Laboratorio 5 marzo 2014 Tecnologie 4n Tavola periodica Soluzione
Share

Scarica testo

In allegato in formato compresso 5 possibili soluzioni (5 progetti Eclipse, si possono importare in Netbeans) per il problema posto. Le diverse soluzioni differiscono solo per il modello, il resto del codice è lo stesso.

Il progetto TavolaPeriodicaArrayList usa l’ArrayList come struttura dati concreta nel modello. Il pregio è la semplicità del caricamento dei dati che conserva l’ordine delle chiavi. Lo svantaggio è la ricerca di un elemento chimico con un certo numero atomico che infatti è sequenziale.

Il progetto TavolaPeriodicaHashSet usa la struttura dati concreta HashSet e pertanto non è garantito l’ordinamento delle chiavi. Neanche la ricerca è vantaggiosa perché bisogna necessariamente usate un iteratore per accedere agli elementi (nel codice è stato usato per semplicità un ciclo for generalizzato, l’iteratore è implicito).

Il progetto TavolaPeriodicaHashMap usa la struttura dati concreta HashMap e pertanto anche in questo caso non è garantito l’ordinamento delle chiavi. La ricerca in questo caso invece è vantaggiosa perché la struttura dati rende possibile (usando internamente le funzioni di hashing per indicizzare gli elementi della collection) l’accesso diretto.

Il progetto TavolaPeriodicaTreeSet usa la struttura dati concreta TreeSet (albero binario) e pertanto in questo caso è garantito l’ordinamento delle chiavi. Dobbiamo inoltre stabilire quale è il criterio di ordinamento degli elementi della struttura (la classe ElementoChimico implementa l’interfaccia Comparable). Neanche in questo caso la ricerca è vantaggiosa perché è sequenziale.

L’ultimo progetto TavolaPeriodicaTreeMap usa la struttura dati concreta TreeMap e questo è il caso ottimale. Garanzia dell’ordinamento delle chiavi e accesso diretto agli elementi della struttura.

Scarica soluzione

Parole chiave: Tavola periodica degli elementi, strutture dati, arraylist, hashset, hashmap, treeset, treemap

 

 

 

 

Comments are closed.