Page 1356 - Informatica dalla A a Z
P. 1356

frase.lengthQ);

                          System.out.printing" \ nVOCALI" );
                          System.out.println( "Numero = " + gestore.vocali);
                          System.out.println( "Frequenza = " + gestore.getFreqVo-
              cali ( ) );

                          System.out.println( " \nSPAZI" );
                          System.out.println( "Numero = " + gestore.spazi);
                          System.out.println( "Frequenza = " + gestore.getFre-
              qSpazi( ) );
                  }

              }




                                                 Strutture di dati e File




           Le strutture di dati dinamiche rappresentano un modo per poter organizzare i dati di cui a
           priori non è nota la dimensione.

           Le strutture di dati dinamiche hanno in comune la possibilità di adattarsi al variare della

           dimensione dei dati da trattare e tra di loro si differenziano per il tipo di operazioni che
           vengono eseguite sui dati. Le operazioni tipiche di queste strutture si dividono in:

           • operazioni di modifica: inserimento ed eliminazione di un elemento dalla struttura;


           • operazioni di interrogazione: ricerca di un certo elemento nella struttura, prelevamento
           di un elemento con particolari caratteristiche (per esempio il primo elemento inserito),
           conteggio del numero di elementi inseriti nella struttura.


           Nota: Possono essere pensate anche in termini di “oggetti”, in quanto sono composte da
           dati e da un insieme di operazioni che agiscono sui dati.


           La realizzazione di strutture dinamiche comporta un’interazione continua con il gestore
           della memoria per allocare nuove porzioni di memoria quando la struttura di dati cresce e
           per deallocarle quando la struttura di dati si contrae.


           La classe Vector, contenuta nelle librerie standard di Java, supporta le caratteristiche di
           dinamicità e risulta molto utile per implementare le strutture di dati dinamiche.

           La classe Vector mette a disposizione i metodi, tipici delle strutture di dati dinamiche, per
           aggiungere gli elementi in fondo all’array e per prelevare o eliminare gli elementi in una

           certa posizione.

           Tra le strutture di classi dinamiche, troviamo la Pila e la Coda.


                                                           1352
   1351   1352   1353   1354   1355   1356   1357   1358   1359   1360   1361