La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00.

Presentazioni simili


Presentazione sul tema: "22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00."— Transcript della presentazione:

1 22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00

2 Pila (Stack ) Versione limitata della lista concatenata: operazioni di inserimento e cancellazione nodi solo in testa (top) Struttura Last-in, first-out (LIFO) Si accede tramite un puntatore alla testa : top Il link dellultimo nodo e impostato a null push –Aggiunge nuovo nodo in testa alla pila pop –Cancella un nodo dalla testa della pila restituendo il valore che conteneva

3 Manipolazione di una pila Analizziamo il codice pila.c direttamente sul compilatore…

4 Queue (Coda) Versione limitata della lista concatenata: operazioni di inserimento e cancellazione nodi rispettivamente solo in coda (tail) e in testa Struttura First-in, first-out (FIFO) Si accede tramite due puntatori rispettivamente alla testa ( head ) e alla coda ( tail ) Le operazioni di inserimento e cancellazioni si indicano rispettivamente con enqueue e dequeue Ha varie applicazioni in routine di sistemi operativi e gestione delle reti.

5 Manipolazione di una coda Analizziamo il codice coda.c direttamente sul compilatore…

6 Alberi ( Tree) Nodi di un albero contengono 2 nodi (struttura non-lineare) Alberi Binari –Tutti i nodi contengono due link Nessuno, uno o entrambi possono essere NULL –La radice (root) e il primo nodo di un albero. –Ogni link corrisponde ad un figlio di quel nodo –Un nodo senza figli si chiama foglia

7 Esempio di albero binario

8 Alberi binari di ricerca Valori nel sottoalbero sinistro minori del padre Valori nel sottoalbero destro maggiori del padre Semplice eliminazione dei duplicati Ricerca veloce – se lalbero e bilanciato, max log n confronti… 47 25 77 11 43 65 93 68 7 17 31 44

9 Visite di alberi Attraversamento in pre-ordine: 1.Elaboro il valore nel nodo 2.Attraverso il sottoalbero sinistro in pre-ordine 3.Attraverso il sottoalbero destro in pre-ordine Nellesempio: 20, 10, 3, 13, 30, 27, 40 20 10 30 3 132740

10 Visite di alberi Attraversamento in post-ordine: 1.Attraverso il sottoalbero sinistro in post-ordine 2.Attraverso il sottoalbero destro in post-ordine 3.Elaboro il valore nel nodo Nellesempio: 3,13,10,27,40, 30, 20 20 10 30 3 132740

11 Visite di alberi Attraversamento in in-ordine: 1.Attraverso il sottoalbero sinistro in in-ordine 2.Elaboro il valore nel nodo 3.Attraverso il sottoalbero destro in in-ordine Nellesempio: 3, 10, 13, 20,27, 30, 40 20 10 30 3 132740

12 Creazione di un albero binario e suoi attraversamenti pre-,post-, in-ordine Analizziamo il codice tree.c direttamente sul compilatore…

13 Esercizi Integrare il programma tree.c con le seguenti funzioni: Funzione search che ricerca un dato valore allinterno di una lista concatenata. La funzione dovra restituire il puntatore a quel valore o null nel caso che tale valore non sia presente nella lista. Funzione delete che cancella un dato valore dallalbero.


Scaricare ppt "22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00."

Presentazioni simili


Annunci Google