fisica:informatica:201617:esercitazione8
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
fisica:informatica:201617:esercitazione8 [05/05/2017 alle 12:19 (8 anni fa)] – creata Susanna Pelagatti | fisica:informatica:201617:esercitazione8 [18/05/2017 alle 09:48 (8 anni fa)] (versione attuale) – [Esercizio 5: Array sparsi (//a la Python//) implementati come liste] Susanna Pelagatti | ||
---|---|---|---|
Linea 49: | Linea 49: | ||
e sviluppare un main() che ne testa il funzionamento. | e sviluppare un main() che ne testa il funzionamento. | ||
- | ===== Esercizio 4: (avanzato) Verificare i memory leak con '' | + | ===== Esercizio 4: Liste con doppio puntatore |
+ | Realissare le funzioni degli esercizi precedenti utilizzando liste con puntatore al precedente e al successivo | ||
+ | < | ||
+ | typedef struct elem_d { | ||
+ | double val; | ||
+ | struct elem_d * prec; | ||
+ | struct elem_d * next; | ||
+ | } elem_d_t ; | ||
+ | </ | ||
+ | in questo caso la lista puo' essere definita ad esempiocome una struttura con due puntatori, uno alla testa ed uno alla coda | ||
+ | < | ||
+ | typedef struct lista_d { | ||
+ | struct elem_d * head; | ||
+ | struct elem_d * tail; | ||
+ | } lista_d_t ; | ||
+ | </ | ||
+ | come si modificano gli algoritmi sviluppati precedentemente ? | ||
+ | |||
+ | ===== Esercizio 5: Array sparsi (//a la Python//) implementati come liste ===== | ||
+ | Vogliamo realizzare degli array di double di grandi dimensioni che contengono solo una piccola percentuale di elementi diversi da 0 come liste concatenate definite come | ||
+ | < | ||
+ | typedef struct sparse_d { | ||
+ | double val; | ||
+ | unsigned index; | ||
+ | struct elem_d * next; | ||
+ | } sparse_d_t ; | ||
+ | </ | ||
+ | nella lista sono presenti solo gli elementi diversi da zero e per ogni elemento e' indicato l' | ||
+ | Realizzare le funzioni '' | ||
+ | < | ||
+ | double put (sparse_d_T * a, unsigned indice); | ||
+ | sparse_d_t * put (sparse_d_T * a, double x, unsigned indice); | ||
+ | </ | ||
+ | |||
+ | ===== Esercizio 6: (avanzato) Verificare i memory leak con '' | ||
Con riferimento al main sviluppato per l' | Con riferimento al main sviluppato per l' | ||
Linea 77: | Linea 111: | ||
questo rispondera' | questo rispondera' | ||
- | ===== Esercizio | + | ===== Esercizio |
Verificare la correttezza degli accessi ai puntatori dello heap compiuti dalle funzioni su liste sviluppate negli esercizi precedenti utilizzando '' | Verificare la correttezza degli accessi ai puntatori dello heap compiuti dalle funzioni su liste sviluppate negli esercizi precedenti utilizzando '' |
fisica/informatica/201617/esercitazione8.1493986760.txt.gz · Ultima modifica: 05/05/2017 alle 12:19 (8 anni fa) da Susanna Pelagatti