Abbiamo introdotto gli array, che rappresentano un primo esempio di struttura di dati, la più antica e primitiva. E abbiamo potuto vedere al suo interno dei primi esempi dei cicli iterativi di tipo for e for each. Gli array li immaginiamo come una sequenza ordinata di elementi, dove vengono associati degli indici che vanno da 0 a l-1. Dove l è la lunghezza dell'array. Il primo indice, di una qualunque struttura di dati ai quali sono associati gli indici è sempre zero. Per altre altre strutture di dati il numero totale degli elementi verrà chiamata count. Questi indici sono fondamentali : 1) in quanto ci consentono di recuperare i valori memorizzati negli array utilizzando l'indice. 2) Ci consentono di assegnare alle celle di memoria un particolare valore.
I dizionari
Non tutte le strutture all'interno del linguaggio si programmazione seguono questo pattern. Ci sono strutture più potenti, che lavorano in maniera diversa. Cioè non lavorano automaticamente con gli indici assegnati, ma utilizzano delle chiavi specificate dal programmatore stesso, dal momento in cui assegna un valore ad una certa locazione di memoria. Queste strutture che utilizzano le chiavi, invece degli indici che identificano i valori. Dal momento che si assegna un valore ad una certa locazione di memoria, si specifica una chiave che serve per poi andare ad identificare la cella ed il valore. Non si specifica più soltanto il valore, come negli array ma si specifica la coppia (chiave,valore). Abbiamo questo nuovo meccanismo che ci consente di recuperare i dati tramite una chiave. Questa strutture vengono chiamate dizionari. Recuperiamo il valore desiderato attraverso al chiave → accesso diretto al dato tramite la semplice chiave.
Differenze
Negli array dobbiamo cercare il valore nella lista, la sua complessità computazionale è molto maggiore rispetto all'accesso diretto, che abbiamo con la Dictionary. Dal punto di vista concettuale, possiamo classificare le strutture che sono all'interno del framework, in due grandi categorie.
1) Le strutture come array e list gli indici vengono automaticamente associati alle celle(elementi). La list è migliore degli array, in quanto ci consente di lavorare molto più facilmente e con rischio minore di fare errori.
2) La seconda classificazione, cioè le Dictionary, anziché gli indici utilizzano delle chiavi che vengono manualmente associate dal programmatore, agli elementi.
3) Le Sorted List hanno le coppia (chiave,valore) ma anche gli indici automaticamente associati agli elementi. E' una Dictionary con in più degli indici automaticamente associati agli elementi. La List, Sort List, Dictionary, queste strutture più moderne presenta una uniformità nell'ambito dei linguaggi.
Nessun commento:
Posta un commento