Algoritmi e Strutture Dati
|
|
|
- Giada Giuliano
- 8 anni fa
- Visualizzazioni
Transcript
1 Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07
2 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a] do key A[j] Si inserisce A[j] nella sequenza ordinata A[1..j-1] i j-1 while i > 0 e A[i] > key do A[i + 1] A[i] i i 1 A[i+1] key
3 Il concetto di dato Il concetto di tipo di dato Schema dell Insertion-Sort Ordinamento n numeri Insertion Sort Numeri ordinati A[1,...,n] = vettore i,j,key = variabili
4 Il concetto di dato Il concetto di tipo di dato Schema di un generico algoritmo Problema Input Algoritmi Output Dati
5 Il concetto di dato Il concetto di tipo di dato Strutture Dati Astratte (SDA) Dati: insieme di valori oggetti + Operazioni che consentono di manipolare i dati Dati Op 1 Op 2... Op n
6 Il concetto di dato Il concetto di tipo di dato Esempio di SDA Dati = insieme S di numeri OP 1 = estrai il minimo OP 2 = estrai il massimo OP 3 = restituisci la dimensione di S OP 4 = inserisci un nuovo numero in S
7 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to size(a) Si inserisce A[j] nella sequenza ordinata A[1..j-1] i j-1 while i > 0 e read(j) > key do modify(i + 1, read(i)) i i-1 modify(i + 1, key)
8 Il concetto di dato Il concetto di tipo di dato Insertion Sort Insieme S di numeri ADS = + Read, Size, Modify DS = S = A[1,..., n] vettore Read(i) = A[i] Size(A) = n Modify(i, x) = A[i] = x
9 Il concetto di dato Il concetto di tipo di dato ADS vs DS ADS = che cosa vogliamo? DS = come lo implementiamo?
10 Il concetto di dato Il concetto di tipo di dato Quando una struttura dati è buona?? Quando non usa troppe risorse Risorse = Tempo Spazio di memoria Numero di processori...
11 Il concetto di dato Il concetto di tipo di dato Il concetto di Dato Un dato è tutto ciò su cui agisce un calcolatore A livello hardware tutti i dati sono rappresentati come sequenza di cifre binarie Linguaggi ad alto livello ci permettono di usare astrazioni tramite il concetto di tipo di dato
12 Il concetto di dato Il concetto di tipo di dato Tipo di dato Nei linguaggi di programmazione il tipo di dato determina l insieme dei valori (oggetti) che una variabile può rappresentare il tipo di dato, specifica le operazioni di interesse su un insieme di valori - o collezione di oggetti (es. inserisci, cancella, cerca, etc.) Ogni operatore accetta argomenti di uno o più tipi di dato fissato e produce risultati di un tipo di dato fissato
13 Il concetto di dato Il concetto di tipo di dato Gestione di collezioni di oggetti Struttura dati: un organizzazione dei dati che permette di supportare le operazioni di un tipo di dato in modo efficiente
14 Tipo di dato Dizionario Dati: un insieme di coppie (elem, chiave) Operazioni: insert(elem e, chiave k) aggiunge ad S una nuova coppia (e, k) delete(elem e, chiave k) cancella da S la coppia con chaive k search(chiave k) se la chiave k è presente in s restituisce l elemento e ad esso associato altrimenti restituisce null
15 Pile e Code Strutture Dati Astratte Pila: insieme di elementi gestiti secondo una politica LIFO (Last In First Out) l ultimo elemento inserito è il primo estratto Coda: insieme di elementi gestiti secondo una politica FIFO (First In First Out) il primo elemento inserito è il primo estratto
16 Il tipo di dato Pila Strutture Dati Astratte Dati: una sequenza S di n elementi Operazioni: isempty() boolean restituisce true se S è vuota, false altrimenti push(elem e) aggiunge e come ultimo elemento di S pop() elem toglie da S l ultimo elemento e lo restituisce top() elem restituisce l ultimo elemento di S (senza eliminarlo)
17 Il tipo di dato Pila Strutture Dati Astratte PUSH POP
18 Tipo di dato Coda Strutture Dati Astratte Dati: una sequenza S di n elementi Operazioni: isempty() boolean restituisce true se S è vuota, false altrimenti enqueue(elem e) aggiunge e come ultimo elemento di S dequeue() elem toglie da S l ultimo elemento e lo restituisce first() elem restituisce il primo elemento di S (senza eliminarlo)
19 Il tipo di dato Coda Strutture Dati Astratte enqueue dequeue
20 Tecniche di rappresentazione dei dati Rappresentazioni indicizzate: I dati sono contenuti in array Rappresentazioni collegate: I dati sono contenuti in record collegati fra loro mediante puntatori
21 Pro e contro Strutture Dati Astratte Rappresentazioni indicizzate: Pro: accesso diretto ai dati mediante indici Contro: dimensione fissa (riallocazione array richiede tempo lineare) Rappresentazioni collegate: Pro: dimensione variabile (aggiunta e rimozione record in tempo costante) Contro: accesso sequenziale ai dati
22 Esempi di strutture collegate: le next terminatore L I S T info record puntatore prev next L I S T info L I S T
23 Liste con sentinelle Strutture Dati Astratte -- L I S T -- lista con sentinelle vuota
24 Organizzazione gerarchica dei dati: Un albero radicato è una coppia T = (N, A) costituita da un insieme N di nodi ed un insieme A N N di coppie di nodi, detti archi. In un albero: ogni nodo v (tranne la radice) ha un solo padre u tale che (u, v) A. Nodi con lo stesso padre sono detti fratelli un nodo u può avere zero o più figli v tali che (u, v) A e, il loro numero è detto grado del nodo un nodo senza figli è detto foglia, mentre i nodi che non sono nè foglie nè la radice sono detti nodi interni la profondità (o livello) di un nodo è dato dal numero di archi che bisogna attraversare per raggiungerlo dalla radice altezza di un albero: massima profondità a cui si trova una foglia
25 Organizzazione gerarchica dei dati: Dati contenuti nei nodi, relazioni gerarchiche definite dagli archi che collegano coppie di nodi r radice livello 0 padre del nodo v arco (u,v) u nodo interno livello 1 altezza v z foglia livello 2 figlio del nodo u livello 3 fratelli
26 Rappresentazioni collegate di Rappresentazione con puntatori ai figli (nodi con numero limitato di figli) A B C D E F sin info des
27 Rappresentazioni collegate di lista dei puntatori ai figli A E F B D E Rappresentazione con di puntatori ai figli (nodi con un numero arbitrario di figli)
28 Rappresentazioni collegate di primo figlio A B D fratelli C F Rappresentazione con primo figlio fratello successivo (numero arbitrario di figli) E
29 Visite di Alberi Strutture Dati Astratte Algoritmi che consentono l accesso sistematico ai nodi e agli archi di un albero Gli algoritmi di visita si distinguono in base al particolare ordine di accesso ai vari nodi dell albero
30 Algoritmo di visita generica L algoritmo visitagenerica(nodo r) visita il nodo r e tutti i suoi discendenti in un albero visitagenerica(nodo r) S {r} while (S ) do estrai un nodo u da S visita il nodo u S S {figli di u}
31 Algoritmo di visita in profondità L algoritmo di visita in profondità (DFS, Depth-First-Search) parte da r e procede visitando i nodi di figlio in figlio fino a raggiungere una foglia Retrocede poi al primo antenato che ha figli non ancora visitati (se esiste) e ripete il procedimento a partire da uno di quei figli
32 Algoritmo di visita in profondità A ➊ A ➍ G D M B H E I C F G D M B H ➋ E ➌ I C F DFS(A) = A, B, D, G, E, H, I, C, F
33 Algoritmo di visita in profondità Versione iterativa (per binari) visitadfs(nodo r) Pila S S.push(r) while (not S.isEmpty()) do u S.pop() if (u null) then visita il nodo u S.push(figlio destro di u) S.push(figlio sinistro di u)
34 Algoritmo di visita in profondità Versione ricorsiva (per binari) visitadfsricorsiva(nodo r) if (r = null) return visita il nodo r visitadfsricorsiva(figlio sinistro di r) visitadfsricorsiva(figlio destro di r) Questa versione dell algoritmo di visita in prondità viene anche detta visita in preordine
35 Tre varianti classiche dell algoritmo di visita in profondità Visita in preordine: si visita prima la radice e poi si effettuano le chiamate ricorsive sul figlio sinistro e destro Visita simmetrica: si effettua prima la chiamata ricorsiva sul figlio sinistro, poi si visita la radice ed, infine, si effettua la chiamata ricorsiva sul figlio destro Visita in postordine: si effettuano prima le chiamate ricorsive sul figlio sinistro e destro e poi si visita la radice
36 Tre varianti classiche dell algoritmo di visita in profondità A B C G D M H E I F visita in preordine: A, B, D, G, E, H, I, C, F visita simmetrica: G, D, B, H, E, I, A, C, F visita in postordine: G, D, H, I, E, B, F, C, A
37 Visita simmetrica Strutture Dati Astratte Versione ricorsiva (per binari) visitasimmetrica(nodo r) Rispetto a visitadfsricorsiva, basta invertire la chiamata ricorsiva sul sottoalbero sinistro e la visita della radice if (r = null) return visitadfsricorsiva(figlio sinistro di r) visita il nodo r visitadfsricorsiva(figlio destro di r)
38 Visita in postordine Strutture Dati Astratte Versione ricorsiva (per binari) visitainpostordine(nodo r) Rispetto a visitadfsricorsiva, basta effettuare la visita della radice solo dopo le chiamate ricorsive sui figli if (r = null) return visitadfsricorsiva(figlio sinistro di r) visitadfsricorsiva(figlio destro di r) visita il nodo r
39 Algoritmo di visita in ampiezza L algoritmo di visita in ampiezza (BFS, Breadth-First-Search) parte da r e procede visitando i nodi per livelli successivi Un nodo sul livello i può essere visitato solo se tutti i nodi sul livello i 1 sono stati visitati
40 Algoritmo di visita in profondità A A ➊ B C B ➋ C D E F D E ➌ F G M H I G M H ➍ I BFS(A) = A, B, C, D, E, F, G, H, I
41 Algoritmo di visita in ampiezza Versione iterativa (per binari) visitadfs(nodo r) Coda C C.enqueue(r) while (not C.isEmpty()) do u C.dequeue() if (u null) then visita il nodo u C.enqueue(figlio sinistro di u) C.enqueue(figlio destro di u)
42 Riepilogo Strutture Dati Astratte Nozione di tipo di dato come specifica delle operazioni su una collezione di oggetti Rappresentazioni indicizzate e collegate di collezioni di dati: pro e contro Organizzazione gerarchica dei dati mediante Rappresentazioni collegate classiche di Algoritmi di esplorazione sistematica dei nodi di un albero (algoritmi di visita)
Alberi ed Alberi Binari
Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,
Problemi di ordinamento
Problemi di ordinamento Input: una sequenza di n numeri a 1, a 2,..., a n ; Output: una permutazione a 1, a 2,..., a n di a 1, a 2,..., a n tale che a 1 a 2... a n. Generalmente, la sequenza è rappresentata
Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione
Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico
Alberi n-ari: specifiche sintattiche e semantiche. Realizzazioni. Visita di alberi n-ari.
Alberi n-ari: specifiche sintattiche e semantiche. Realizzazioni. Visita di alberi n-ari. Algoritmi e Strutture Dati + Lab A.A. / Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro ALBERO
Note per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
Alberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
Algoritmi e Strutture Dati
Heap Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Heap Heap binari: definizione Un heap binario è una struttura dati composta
Alberto Montresor Università di Trento
!! Algoritmi e Strutture Dati! Capitolo 5 - Alberi!!! Alberto Montresor Università di Trento!! This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy
Alberi Binari di Ricerca
Alberi Binari di Ricerca Algoritmi su gli alberi binari: visite Dato un puntatore alla radice di un albero vogliamo scandire in modo sistematico tutti i nodi di tale albero In una lista abbiamo una unica
LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve
LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione
PILE E CODE. Pile (stack):
PILE E CODE Sono tipi di dato che consentono di rappresentare sequenze di elementi in cui gli inserimenti e le cancellazioni sono eseguiti con particolari modalita` (politiche o discipline). Pile (stack):
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme
Laboratorio di Algoritmi e Strutture Dati. Code con Priorità
Laboratorio di Algoritmi e Strutture Dati Code con Priorità Teresa M.A. Basile [email protected] Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Materiale di base gentilmente concesso
Alberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
Algoritmi e Strutture Dati
Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai
Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)
Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base
Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.
Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Frodo Dudo Daisy Alberi Gli alberi sono una generalizzazione
Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list
Esercitazione: Implementazione in linguaggio C dell ADT Stack con l utilizzo di linked list Laboratorio di Programmazione Introduzione un ADT (Abstract Data Type) è un modello (formale) che generalizza
In questa lezione Strutture dati elementari: Pila Coda
In questa lezione Strutture dati elementari: Pila Coda 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni che li modificano (insiemi dinamici). Le
La struttura dati CODA
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - [email protected] Introduzione Una coda (o queue) è una struttura dati astratta
Espressioni aritmetiche
Espressioni aritmetiche Consideriamo espressioni costruite a partire da variabili e costanti intere mediante applicazione delle operazioni di somma, sottrazione, prodotto e divisione (intera). Ad esempio:
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro
Struttura dati astratta Coda
CODE Struttura dati astratta Coda La coda o queue è una struttura dati astratta in cui l'inserimento e l estrazione sono consentite solo in specifiche posizioni; in particolare, l'inserimento è consentito
Algoritmi e Strutture Dati. HeapSort
Algoritmi e Strutture Dati HeapSort Selection Sort: intuizioni L algoritmo Selection-Sort scandisce tutti gli elementi dell array a partire dall ultimo elemento fino all inizio e ad ogni iterazione: Viene
Questa soluzione va contemplata quando le lunghezze stimate dalle liste usate sono significativamente maggiori delle dimensioni di un elemento.
Un ulteriore semplificazione si ottiene utilizzando un elemento sentinella (dummy) che non contiene informazione, ma serve a segnalare la fine (e l inizio) di una lista. Questa soluzione va contemplata
Heap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
Liste con sentinella. intlist *createlist(void){ intlist *q = malloc(sizeof(intlist)); if(!q) { exit(-1); } q->next = q->prev = q; return q; }
Liste con sentinella Un ulteriore semplificazione delle operazioni sulle liste si ottiene utilizzando un elemento sentinella (dummy) che non contiene informazione, ma serve a segnalare la fine e l inizio
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 5 - Alberi Alberto Montresor Università di Trento This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this
Implementazione ADT: Alberi
Implementazione ADT: Alberi Livelli di astrazione 2001/2002 1 Esercitazione 5 (E6): alberi (tree) albero struttura dati fondamentale, soprattutto per le operazioni di ricerca tipi di albero con radice
ADT Coda con priorità
Code con priorità ADT Coda con priorità Una coda con priorità è una struttura dati dinamica che permette di gestire una collezione di dati con chiave numerica. Una coda con priorità offre le operazioni
Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet http://www.sci.unich.it/ francesc
Algoritmi e Strutture di Dati I 1 Algoritmi e Strutture di Dati I Massimo Franceschet http://www.sci.unich.it/ francesc Algoritmi e Strutture di Dati I 2 Grafo Un grafo G è una coppia (V, E) ove V è un
Esercizio 1. E vero che in un AVL il minimo si trova in una foglia o nel penultimo livello? FB = -1. livello 0 FB = -1. livello 1 FB = -1.
Esercizio 1 E vero che in un AVL il minimo si trova in una foglia o nel penultimo livello? FB = -1 livello 0 FB = -1 FB = -1 livello 1 FB = -1 livello 2 livello 3 L altezza è 3, il minimo si trova nel
Esercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
Laboratorio di Python
Laboratorio di Python Alberi binari Lab15 12 Maggio 2017 Outline Correzione esercizi per oggi Alberi binari Teoria Esercizi Esercizi per casa Saluti Esercizio 1 per casa Scrivere una funzione palindroma(s)
In questa lezione Alberi binari di ricerca: la cancellazione
In questa leione Alberi binari di ricerca: la cancellaione 1 L algoritmo di Hibbard per cancellare (1962) Sia il nodo da cancellare: 1) è una foglia: si rimuove 2) ha un solo figlio x: si rende x figlio
Esempi. non. orientato. orientato
Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è
Laboratorio di Python
, Esercizi su alberi Università di Bologna 16 maggio 2013 Sommario 1 2 Consegna non avvenuta Meno di 10 studenti hanno inviato l esercizio svolto. Definizione ricorsiva alberi binari Un albero binario
Esercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla [email protected] Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
Alberi. Alberi: definizioni. Alberi Binari. Esercizi su alberi binari: metodi ricorsivi. Struttura dati per alberi generici. ASD-L - Luca Tesei
Alberi Alberi: definizioni Alberi Binari Esercizi su alberi binari: metodi ricorsivi Struttura dati per alberi generici 1 Alberi Gli alberi sono strutture dati naturalmente ricorsive Un albero è un particolare
Strutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
Per semplicità eliminiamo le ripetizioni nell'albero.
Albero binario di ricerca 20 40 100 95 Un albero binario di ricerca é un albero binario in cui ogni nodo ha un etichetta minore o uguale a quelle dei nodi nel sottoalbero radicato nel figlio destro e maggiore
Algoritmi (9 CFU) (A.A ) Heap e Algoritmo HeapSort. Prof. V. Cutello Algoritmi 1
Algoritmi (9 CFU) (A.A. 2009-10) Heap e Algoritmo HeapSort. Prof. V. Cutello Algoritmi 1 Overview Definiamo la struttura dati heap Operazioni di costruzione e gestione di un heap Algoritmo Heapsort Code
Grafi: definizioni e visite
Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della
Algoritmi e Strutture Dati. Alberi
Algoritmi e Strutture Dati Alberi Alberto Montresor Università di Trento 2017/10/19 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Sommario 1 Introduzione
Albero binario. Alberi binari (introduzione) Terminologia. Alberi di ricerca binaria (BST)
Albero binario 2 Alberi binari (introduzione) Struttura di dati bidimensionale formata da nodi costituiti ciascuno dai dati da memorizzare e da due link Ver. 2.4 20 - Claudio Fornaro - Corso di programmazione
Esercizi Capitolo 6 - Alberi binari di ricerca
Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 9 Agosto, 204 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile
Esercizi Strutture dati di tipo astratto
Salvatore Cuomo Esercizi Strutture dati di tipo astratto Lezione n. 20 Parole chiave: Strutture dati, pile code, liste Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio
Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani ([email protected])
4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
Alberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli [email protected] Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
GLI ALBERI BINARI DI RICERCA. Cosimo Laneve
GLI ALBERI BINARI DI RICERCA Cosimo Laneve argomenti 1. alberi binari di ricerca 2. la ricerca di elementi e la complessità computazionale 3. operazione di cancellazione di elementi 4. esempi/esercizi
Esercizi su alberi binari
Esercizi su alberi binari Esercizi svolti: Determinazione nodi contenti verifica completezza verifica quasi completezza lunghezza del cammino interno determinazione ultima foglia in un quasi completo verifica
lezione 9 min-heap binario Heap e Alberi posizionali generali
lezione 9 Heap e Alberi posizionali generali min-heap binario Un min-heap è un albero binario quasi completo in cui ogni nodo i diverso dalla radice soddisfa la seguente proprietà: il valore memorizzato
Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
Capitolo 3: Gli alberi. Alberi n-ari
Alberi n-ari Un albero ordinato è formato da un insieme finito di elementi, detti nodi. Se questo insieme non è vuoto, allora un particolare nodo avrà il ruolo di radice dell albero e gli altri nodi, se
Strutture dati dinamiche in C (II)
Strutture dati dinamiche in C (II) Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi [email protected] Sommario Le liste concatenate (ancora ma in modo più formale) L
I tipi di dato astratti
I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato
Lezione 7 Alberi binari: visite e alberi di ricerca
Lezione 7 Alberi binari: visite e alberi di ricerca Informatica 6 Maggio 2015 Operazioni sugli alberi: visita La visita di un albero esplora tutti i nodi ed esegue una qualche operazione su di essi. Per
