Algoritmi per liste CORDA – Informatica A. Ferrari Testi da Marco Bernardo Edoardo Bontà Dispense del Corso di Algoritmi e Strutture Dati.

Slides:



Advertisements
Presentazioni simili
1 La Standard Template Library vettori, liste, mappe, …. find, replace, reverse, sort, …. puntatori intelligenti La libreria standard STL e una libreria.
Advertisements

Argomenti della lezione
Tipi di dato astratti Lista, Pila, Coda, Albero.
Estendere i linguaggi: i tipi di dato astratti
Unità D2 Archivi e file.
Strutture dati lineari
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Fondamenti di Informatica
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Algoritmi in C++ (1) da completare
Alberi binari di ricerca
Algoritmi e Dimostrazioni Stefano Berardi
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Liste.
STRUTTURE DATI e LABORATORIO II ESERCITAZIONE N°13 Heap massimo.
Esercizi su alberi binari
Grafi.
Argomenti della lezione
Algoritmi e Strutture Dati
AA2003/04 © M.A. Alberti Programmazione Strutture dati 1 Programmazione Corso di laurea in Informatica.
memoria gestita staticamente:
1.Scrivere una funzione per cercare un numero x in una lista circolare di interi. La funzione deve restituire NULL se il numero non esiste. 2.Scrivere.
15 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ora da stabilire.
Algoritmi e strutture dati
Corso di informatica Athena – Periti Informatici
Corso di informatica Athena – Periti Informatici
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
Complessità di un algoritmo
ALGORITMI a.
Apprendistato Enel di alternanza scuola lavoro Modalità di registrazione candidatura on-line Roma, Luglio 2014.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Nota (rif. alla lezione precedente): Vector vs ArrayList Le classi generiche Vector e ArrayList sono sostanzialmente equivalenti, ma: I metodi.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 5 Le strutture informative Corso di Informatica 2 a.a. 2003/04 Lezione 5.
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Complessità degli algoritmi (cenni) CORDA – Informatica A. Ferrari.
Sistemi e Tecnologie Informatiche Ricorsione Umberto Ferraro Petrillo.
Sistemi e Tecnologie Informatiche
Array (ordinamento) CORDA – Informatica A. Ferrari.
Ricorsione CORDA – Informatica A. Ferrari Testi da Alessandro Bugatti
Alberi CORDA – Informatica A. Ferrari Testi da
Grafi CORDA – Informatica A. Ferrari Testi da Marco Bernardo Edoardo Bontà Dispense del Corso di Algoritmi e Strutture Dati.
3/31/2015E. Giovannetti -- OI09.1 Olimpiadi di Informatica 2010 Giornate preparatorie Dipartimento di Informatica Università di Torino marzo – Algoritmi.
Struttura di una lista legata Una lista legata è una variabile strutturata in cui ogni elemento mantiene l’indirizzo (mediante un puntatore) dell’elemento.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Puntatori e Stringhe.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Pile e Code.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
AlgoLab - Pile e Code Pile e code Laboratorio di Algoritmi 02/03 Prof. Ugo de’ Liguoro.
1 Esercitazione finale per il corso di Sistemi Operativi (A.A. 2001/2002)
Definizione di algoritmo: Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un problema risolvibile.
MODULO STRUTTURE DATI FONDAMENTALI: Strutture dinamiche
Archivi Esempi Movimenti contabili di un’azienda
Array (visita e ricerca) CORDA – Informatica A. Ferrari.
Liste di Interi Esercitazione. Una variante Liste concatenate di Integers Non modificabile Costruttori per creare la lista vuota o un nodo Metodi d’istanza.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Corso di Algoritmi e Strutture Dati con Laboratorio Java Collections Framework (II parte)
1 MODULO STRUTTURE DATI FONDAMENTALI: Strutture dinamiche classe 4° INDUSTRIALE ABACUS Ud1Strutture dati lineariTempi -Liste semplicemente puntate 3h+3h.
1 MODULO STRUTTURE DATI FONDAMENTALI: Strutture dinamiche classe 4° INDUSTRIALE INFORMATICA Focus on.
Transcript della presentazione:

Algoritmi per liste CORDA – Informatica A. Ferrari Testi da Marco Bernardo Edoardo Bontà Dispense del Corso di Algoritmi e Strutture Dati

Lista - definizione

Liste ordinate

Liste - rappresentazione  Una lista viene rappresentata come una struttura dati dinamica lineare, in cui ogni elemento contiene solo il riferimento all’elemento successivo (lista singolarmente collegata) oppure anche il riferimento all’elemento precedente (lista doppiamente collegata)

Lista semplice

Lista bidirezionale

Lista - caratteristiche  L’indirizzo dell’elemento successivo contenuto nell’ultimo elemento di una lista è indefinito, così come l’indirizzo dell’elemento precedente contenuto nel primo elemento di una lista doppiamente collegata. Fa eccezione il caso dell’implementazione circolare di una lista, nella quale l’ultimo elemento è collegato al primo elemento.  Gli elementi di una lista non sono necessariamente memorizzati in modo consecutivo, quindi l’accesso ad un qualsiasi elemento avviene scorrendo tutti gli elementi che lo precedono. Questo accesso indiretto necessita di un riferimento al primo elemento della lista, detto testa, il quale è indefinito se e solo se la lista è vuota.

Esercitazione 1  Definizione di una lista in Java (senza utilizzare la classe LinkedList o altre strutture dati ad alto livello)  Definizione della classe Nodo e della classe Lista  Nella classe Nodo l’informazione è di tipo int  Nella classe Lista definire i metodi  insTesta, insCoda, eliTesta, …

Problemi sulle liste  Problema della visita:  data una lista, attraversare tutti i suoi elementi esattamente una volta.  Problema della ricerca:  dati una lista e un valore, stabilire se il valore è contenuto in un elemento della lista, riportando in caso affermativo l’indirizzo di tale elemento.  Problema dell’inserimento:  dati una lista e un valore, inserire (se possibile) nella posizione appropriata della lista un nuovo elemento in cui memorizzare il valore.  Problema della rimozione:  dati una lista e un valore, rimuovere (se esiste) l’elemento appropriato della lista che contiene il valore.

Esercitazione 2  Nella classe Lista implementare metodi che permettono di risolvere i problemi di:  visita  ricerca  inserimento  rimozione