Indici con gli alberi. Indici su memorie secondarie. Organizzazione logica di un disco

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Indici con gli alberi. Indici su memorie secondarie. Organizzazione logica di un disco"

Transcript

1 Indici con gli alberi Alberi perfeamene bilanciai per indici su memorie di massa: B-alberi Indici su memorie secondarie Spesso i dai da ordinare sono in quanià ale da richiedere disposiivi di memoria secondaria, come i dischi Organizzazione logica di un disco raccia (cilindro) blocco (record fisico) esina seore Ogni accesso ha un empo di laenza I dischi sono sruurai in blocchi adiaceni dei pagine

2 Un albero binario impaginao Quese pagine hanno dimensione cosane: ora sono piene Un albero di ricerca impaginao B-alberi Un Un B-albero è un un albero perfeamene bilanciao (rami ui della sessa lunghezza) di di pagine di di dimensione fissaa, ali ali che: le le pagine sono sempre riempie almeno per meà, ad ad eccezione della radice; se se una pagina ha ha r chiavi e non è un un foglia, allora ha ha r + 1 figli; le le chiavi nelle pagine sono ordinae, e la la relazione con le le chiavi dei dei sooalberi è quella degli alberi di di ricerca. B-alberi da Baer (che li ha invenai con McCreigh) o forse da bilanciao

3 Un B-albero In un nodo (diverso dalla radice) ci sono i 2 chiavi: è il grado dell albero (= 1/2 max numero delle chiavi in un nodo) L alezza di un B-albero Teorema. Se Se un un B-albero di di grado ed ed alezza h coniene n chiavi, allora h log +1 (n +1 (n + 1)/2 Queso è il peggior rapporo ra h e n 1 chiavi ( + 1) ( + 1) 2 L alezza di un B-albero Teorema. Se Se un un B-albero di di grado ed ed alezza h coniene n chiavi, allora h log +1 (n +1 (n + 1)/2 Sul livelloi ci sono 2( + 1) i 1 chiavi, dunque : n 1+ 2 h i= 1 i ( + 1) 1 = 1+ 2 h 1 i= 0 i ( + 1) h ( + 1) 1 h = 1+ 2 = 2( + 1) 1 h è O(log n): quindi la cosane moliplicaiva è ano minore quano maggiore è

4 Ricerca in un B-albero Search(k, T) // Pos: rue sse k è una chiave in T if T = hen reurn false else (, b) Src(k, roo(t)) reurn b Src(k, x) // Pre: x nil // Pos: riorna (, b) dove è un nodo dell albero T.c. x = roo(t), // se k èin allora b = rue // se k non è in allora b = false e è una foglia Ricerca in un B-albero Src(k, x) sia x = x 1 k 1 x 2 x r k r x r+1 if k {k 1,, k r } hen reurn (x, rue) else if x è una foglia hen reurn (x, false) else if k < k 1 hen reurn Src(k, x 1 ) else sia i 1.. r.c. k k i.. k i+1 (poso k r+1 = + ) reurn Src(k, x i+1 ) È una generalizzazione della ricerca in un albero binario di ricerca Inserimeno I B-alberi crescono dalle foglie: quando non c è più poso si innesca un meccanismo di propagazione delle suddivisioni dei nodi verso la radice

5 Divisione di un nodo Caso in cui l inserimeno di una chiave avviene in un nodo pieno diverso dalla radice Divisione della radice a b c d e 22 a 16 a a Divisione della radice a a b c d e Queso è il solo caso in cui l alezza aumena

6 Inserimeno Inser(k, T) // Pre: il grado di T è ; Pos: T risula dall inserimeno di k in T if T = hen T [nil, k, nil] else (x, b) Src(k, roo(t)), u nil, v nil while no b do // se b = rue allora non c è più nulla da fare sia x = [ 1 k 1 2 r k r r+1 ], i.c. k k i.. k i+1 (poso k r+1 = + ) z [ 1 k 1 2 k r ukvk i+1 r k r r+1 ] if r < 2 hen x z, b rue // c è poso in x else // r = 2 i.e. x era pieno e z ha una chiave in più sia z = [ 1 k 1 2 r k r r+1 ] k k +1, u [ 1 k 1 2 k +1 ] v [ +2 k r k r r+1 ] if x = roo(t) hen roo(t) [u, k, v], b rue else x Paren(x) Per cancellare la chiave k disinguiamo i casi: 1. La chiave k è in una foglia 2. La chiave k è in un nodo inerno La chiave k è in una foglia x: 1. Il nodo x rimane con almeno chiavi: OK 2. Tola k, x ha 1 chiavi (e non è una foglia, alrimeni OK): Caso: k x 1 r >

7 La chiave k è in una foglia x: 1. Il nodo x rimane con almeno chiavi: OK 2. Tola k, x ha 1 chiavi (e non è una foglia, alrimeni OK): min() x, k {min()} (risulao) La chiave k è in una foglia x: 1. Il nodo x rimane con almeno chiavi: OK 2. Tola k, x ha 1 chiavi (e non è una foglia, alrimeni OK): Caso: k x 1 1 La chiave k è in una foglia x: 1. Il nodo x rimane con almeno chiavi: OK 2. Tola k, x ha 1 chiavi (e non è una foglia, alrimeni OK): max() x, k, max() (risulao)

8 La chiave k è in un nodo inerno Caso: k k x > max(x) k (risulao) x max(x) bilanciameno La chiave k è in un nodo inerno Caso: k k x 1 1 fusione (risulao) k x, Ma ora dobbiamo conrollare se qui ci sono ancora chiavi Analisi della complessià Le operazioni di ricerca, inserimeno e cancellazione sono O(h) h è O(log n) = O(log n) (ma cona in praica: meglio grande) gli accessi al disco (e i empi di laenza) sono O(h) Meglio fermarsi qui: buon weekend 2 X 2 = 5

Indici con gli alberi

Indici con gli alberi Indici con gli alberi Alberi perfettamente bilanciati per indici su memorie di massa: B-alberi Indici su memorie secondarie Spesso i dati da ordinare sono in quantità tale da richiedere dispositivi di

Dettagli

Dizionari. Realizzazione con alberi binari di ricerca. Alberi rosso-neri. Ugo de' Liguoro - Algoritmi e Seprimentazioni 03/04 Lez.

Dizionari. Realizzazione con alberi binari di ricerca. Alberi rosso-neri. Ugo de' Liguoro - Algoritmi e Seprimentazioni 03/04 Lez. Dizionari Realizzazione con alberi binari di ricerca. Alberi rosso-neri. Dizionari con gli alberi Astro, Dado, Lana, Mela, Tasto,Vela, Zappa Mela Astro Tasto Zappa Alberi binari di ricerca Gli alberi binari

Dettagli

Dizionari. Dizionari con gli alberi. Alberi binari di ricerca. Realizzazione con alberi binari di ricerca. Alberi rosso-neri.

Dizionari. Dizionari con gli alberi. Alberi binari di ricerca. Realizzazione con alberi binari di ricerca. Alberi rosso-neri. Dizionari Realizzazione con alberi binari di ricerca. Alberi rosso-neri. Dizionari con gli alberi Astro, Dado, Lana, Mela, Tasto,Vela, Zappa Astro Mela Tasto Zappa Alberi binari di ricerca Gli alberi binari

Dettagli

Informatica 3. Informatica 3. LEZIONE 23: Indicizzazione. Lezione 23 - Modulo 1. Indicizzazione. Introduzione. Indicizzazione:

Informatica 3. Informatica 3. LEZIONE 23: Indicizzazione. Lezione 23 - Modulo 1. Indicizzazione. Introduzione. Indicizzazione: Informatica 3 Informatica 3 LEZIONE 23: Indicizzazione Lezione 23 - Modulo 1 Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Indicizzazione lineare, ISAM e

Dettagli

Le strutture dati in Java: liste, code 1

Le strutture dati in Java: liste, code 1 AA 03/04 Le sruure dai I programmi lavorano su informazioni Corso di laurea in Informaica Le informazioni sono spesso organizzae in avole Che non sono semplicemene una massa di dai numerici Ma è che coinvolgono

Dettagli

Memorizzazione di una relazione

Memorizzazione di una relazione Heap file File ordinati Indici o Hash o B+-tree Costo delle operazioni algebriche Simboli: NP: numero di pagine NR: numero record LP: lunghezza pagina LR: lunghezza record Memorizzazione di una relazione

Dettagli

Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 5, 2016 Alberi Esercizio 1 * [Libro 5.2] Dato un albero ordinato i cui nodi contengono valori interi, se ne vogliono

Dettagli

In questa lezione. Heapsort. ordinamento con complessità, nel caso peggiore, O(nlogn) [CLRS01] cap. 6 da pag. 106 a pag. 114

In questa lezione. Heapsort. ordinamento con complessità, nel caso peggiore, O(nlogn) [CLRS01] cap. 6 da pag. 106 a pag. 114 In questa lezione Heapsort ordinamento con complessità, nel caso peggiore, O(nlogn) [CLRS01] cap. 6 da pag. 106 a pag. 11 1 Paternità L heapsort è stato pubblicato da J. W. J. Williams nel 106. Pochi mesi

Dettagli

Problemi di ordinamento

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

Dettagli

Alberi due-tre e alberi B

Alberi due-tre e alberi B Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Curriculum SR (Sistemi e Reti) Basi di Dati e Algoritmi, a.a. 2006-07 prof. Elio Giovannetti CREDITS Alcune slides con disegni

Dettagli

Alberi. Alberi: Esempio di utilizzo

Alberi. Alberi: Esempio di utilizzo Sono strutture dati del tipo: Alberi SOTTOALBERO n1 RADICE DELL ALBERO () n2 n n4 Profondità o Livello 0 1 n n n n n n 2 NODI FOGLIA (LEAF NODES) 1 Alberi: Esempio di utilizzo Rappresentazione di un file

Dettagli

Algoritmi (9 CFU) (A.A ) Heap e Algoritmo HeapSort. Prof. V. Cutello Algoritmi 1

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

Dettagli

In questa lezione. Costruire un max-heap. [CLRS01] cap. 6 par Prof. E. Fachini - Intr. Alg.

In questa lezione. Costruire un max-heap. [CLRS01] cap. 6 par Prof. E. Fachini - Intr. Alg. In questa lezione Costruire un max-heap [CLRS01] cap. 6 par. 6.3!1 Heapsort: analisi Heapsort(A) Build-Max-Heap(A) for i = A.length downto 2 do scambia A[1] e A[i] A.heap-size = A.heap-size - 1 Max-Heapify

Dettagli

B-alberi. Strutture dati avanzate

B-alberi. Strutture dati avanzate Strutture dati avanzate Strutture dati avanzate B-alberi B-alberi Vedremo alcune strutture dati che permettono di eseguire in modo particolarmente efficiente un determinato insieme di operazioni. Ognuna

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Modelli di calcolo e metodologie di analisi Domenico Fabio Savo 1 Notazione asintotica f(n) = tempo di esecuzione / occupazione di memoria di un algoritmo su input di dimensione

Dettagli

Alberi. Se x è il genitore di y, allora y è un figlio di x. Un albero binario è un albero in cui ogni nodo ha al massimo due figli.

Alberi. Se x è il genitore di y, allora y è un figlio di x. Un albero binario è un albero in cui ogni nodo ha al massimo due figli. Alberi Un albero è un insieme di oggetti, chiamati nodi, su cui è definita una relazione binaria G(x, y) che leggiamo x è genitore di y tale che: 1. esiste un unico nodo, chiamato radice, che non ha genitori;

Dettagli

Heap e code di priorità

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

Dettagli

Esercizi su alberi binari

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

Dettagli

In questa lezione Alberi binari di ricerca

In questa lezione Alberi binari di ricerca In questa lezione Alberi binari di ricerca!1 Dizionari Un dizionario è una struttura dati costituita da un insieme con le operazioni di inserimento, cancellazione e verifica di appartenenza di un elemento.

Dettagli

Informatica 3. Informatica 3. LEZIONE 9: Introduzione ai linguaggi funzionali. Lezione 9 - Modulo 1. Paradigma funzionale. Linguaggi imperativi

Informatica 3. Informatica 3. LEZIONE 9: Introduzione ai linguaggi funzionali. Lezione 9 - Modulo 1. Paradigma funzionale. Linguaggi imperativi Informaica 3 Informaica 3 LEZIONE 9: Inroduzione ai linguaggi funzionali Modulo 1: Inroduzione ai linguaggi funzionali Modulo 2: LISP Lezione 9 - Modulo 1 Inroduzione ai linguaggi funzionali Poliecnico

Dettagli

Heap binomiali. Oltre alle precedenti operazioni fondamentali degli heap riunibili, sugli heap binomiali definiremo anche le due ulteriori operazioni:

Heap binomiali. Oltre alle precedenti operazioni fondamentali degli heap riunibili, sugli heap binomiali definiremo anche le due ulteriori operazioni: Heap binomiali Gli heap binomiali sono strutture dati su cui si possono eseguire efficientemente le operazioni: Make(H) : crea un heap vuoto. Insert(H, ) : aggiunge il nodo allo heap. Minimum(H) : ritorna

Dettagli

Lezione 10 Alberi e gestione delle eccezioni

Lezione 10 Alberi e gestione delle eccezioni Lezione 10 Alberi e gestione delle eccezioni Informatica 5 Maggio 2016 1 Visita in ampiezza ed esercizi Esercizio: stampa per livelli Scrivere una funzione che stampa le etichette di tutti i nodi dell

Dettagli

Informatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann

Informatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann Informatica 3 LEZIONE 16: Heap - Codifica di Huffmann Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann Informatica 3 Lezione 16 - Modulo 1 Heap e code di priorità Introduzione

Dettagli

GLI ALBERI BINARI DI RICERCA. Cosimo Laneve

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

Dettagli

Organigramma Gerarchia. (Tree) Nessuna persona può avere più di un superiore Ogni persona può essere superiore di altre

Organigramma Gerarchia. (Tree) Nessuna persona può avere più di un superiore Ogni persona può essere superiore di altre Alberi Struttura dati Albero Organigramma Gerarchia (Tree) Nessuna persona può avere più di un superiore Ogni persona può essere superiore di altre Esempio di un organigramma di un azienda Tree terminology

Dettagli

Lezione 7 Alberi binari: visite e alberi di ricerca

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

Dettagli

Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una

Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una relazione d ordine. Sono definite almeno le seguenti operazioni:

Dettagli

Algoritmi e Strutture Dati. HeapSort

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

Dettagli

In questa lezione Alberi binari di ricerca: la cancellazione

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

Dettagli

Q V CAPACITÀ ELETTRICA. coulomb volt. Quando ad un conduttore isolato viene conferita una carica elettrica Q, esso assume un potenziale V.

Q V CAPACITÀ ELETTRICA. coulomb volt. Quando ad un conduttore isolato viene conferita una carica elettrica Q, esso assume un potenziale V. APAITÀ ELETTRIA uando ad un conduore isolao viene conferia una carica elerica, esso assume un poenziale V. Si definisce capacià elerica Unià di misura della capacià elerica nel S.I. = V farad = F= Dipende

Dettagli

Algoritmi e Strutture Dati

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

Dettagli

Struttura di dati che può essere usata sia come dizionario, sia come coda con priorità

Struttura di dati che può essere usata sia come dizionario, sia come coda con priorità Albero binario di ricerca Struttura di dati che può essere usata sia come dizionario, sia come coda con priorità Proprietà: sia x un nodo di un (sotto)albero binario di ricerca Se y è un nodo del sottoalbero

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Heap Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 6 novembre 2008 Heap binari: definizione Un heap binario è una albero binario quasi completo

Dettagli

ricerca di un elemento, verifica dell appartenenza di un elemento

ricerca di un elemento, verifica dell appartenenza di un elemento Alberi Binari di Ricerca Gli alberi binari di ricerca (o, alberi di ricerca binaria) sono strutture dati che consentono, su un insieme di elementi con un ordine totale le operazioni di: ricerca di un elemento,

Dettagli

Alberi. Definizione, realizzazione e algoritmi elementari. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez. 7

Alberi. Definizione, realizzazione e algoritmi elementari. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez. 7 Alberi Definizione, realizzazione e algoritmi elementari Cosa sono gli alberi? Strutture gerarchiche di ogni tipo Generale Colonnello 1 Colonnello k Maggiore 1,1 Maggiore 1,m Capitano Maggiore k,1 Maggiore

Dettagli

Esercitazioni di Algoritmi e Strutture Dati

Esercitazioni di Algoritmi e Strutture Dati Esercitazioni di Algoritmi e Strutture Dati III esercitazione, 17/03/2016 Tong Liu 1 ESERCIZIO PRECEDENTE Es 2.5, Il rango di un elemento di una lista di interi é la somma degli elementi successivi piú

Dettagli

Code con priorità. Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna.

Code con priorità. Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna. Code con priorità Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna marzolla@cs.unibo.it http://www.moreno.marzolla.name/ Copyright 2009 2012 Moreno Marzolla, Università di Bologna

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Appello del 24 Gennaio 2007 Esercizio 1 (ASD) 1. Sia T (n) = T (n/6) + T (n/3) + Θ(n). Considerare ciascuna delle seguenti affermazioni

Dettagli

L andamento del livello e della posizione d inventario indicativamente è il seguente. L = 0,5 L = 0,5

L andamento del livello e della posizione d inventario indicativamente è il seguente. L = 0,5 L = 0,5 Esercizio 1 Ricapioliamo i dai a nosra disposizione (o ricavabili da quesi): - asso di domanda aeso: đ = 194 unià/mese - deviazione sandard asso di domanda: σ d = 73 - coso fisso emissione ordine (approvvigionameno):

Dettagli

Università degli Studi di Camerino Laurea in Informatica Prima Prova Parziale del corso di Algoritmi e Strutture Dati

Università degli Studi di Camerino Laurea in Informatica Prima Prova Parziale del corso di Algoritmi e Strutture Dati Università degli Studi di Camerino Laurea in Informatica Prima Prova Parziale del corso di Algoritmi e Strutture Dati Docente: Maria Rita Di Berardini 19 dicembre 2007 Nome: Cognome: N.Matricola: Note:

Dettagli

Scritto di Algoritmi e s.d. (1o anno) 30 Giugno 2006 RISPOSTE

Scritto di Algoritmi e s.d. (1o anno) 30 Giugno 2006 RISPOSTE Scritto di Algoritmi e s.d. (1o anno) 30 Giugno 2006 RISPOSTE COGNOME: NOME: Esercizio 1 Esercizio 2 se necessario usare anche il retro del foglio 1 Esercizio 3 2 Esercizio 4 3 Esercizio 5 Indicare chiaramente

Dettagli

Gli ordini di visita di un albero binario di 9 nodi sono i seguenti: A, E, B, F, G, C, D, I, H (anticipato)

Gli ordini di visita di un albero binario di 9 nodi sono i seguenti: A, E, B, F, G, C, D, I, H (anticipato) Alberi Indovina l albero Gli ordini di visita di un albero binario di 9 nodi sono i seguenti: A, E, B, F, G, C, D, I, H (anticipato) B, G, C, F, E, H, I, D, A (posticipato) B, E, G, F, C, A, D, H, I (simmetrico).

Dettagli

ADT Dizionario. Ordered search table. Supponiamo che sia definita una relazione d'ordine totale sulle chiavi del dizionario D:

ADT Dizionario. Ordered search table. Supponiamo che sia definita una relazione d'ordine totale sulle chiavi del dizionario D: Ordered search table Supponiamo che sia definita una relazione d'ordine totale sulle chiavi del dizionario D: possiamo memorizzare le entrate di D in un array list S in ordine non decrescente di chiavi:

Dettagli

ADT Coda con priorità

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

Dettagli

Tutoraggio Informatica Generale Inserimento e cancellazione in un ABR Counting Sort

Tutoraggio Informatica Generale Inserimento e cancellazione in un ABR Counting Sort Tutoraggio Informatica Generale Inserimento e cancellazione in un ABR Counting Sort A.Festa festa@mat.uniroma1.it 20-5-2010 1 Inserimento e cancellazione in ABR Quando si inserisce o si rimuove un elemento

Dettagli

Strutture dati Alberi binari

Strutture dati Alberi binari Strutture dati - 2 - Alberi binari Definizione L albero è un insieme di elementi (nodi), sui quali è definita una relazione di discendenza con due proprietà: esiste un solo nodo radice senza predecessori

Dettagli

v t v t m s lim d dt dt Accelerazione ist

v t v t m s lim d dt dt Accelerazione ist 1 Accelerazione Se la elocià non si maniene cosane il moo non è più uniforme ma prende il nome di moo accelerao. ACCELERAZIONE: ariazione della elocià rispeo al empo Disinguiamo ra ACCELERAZIONE MEDIA

Dettagli

Code a priorità. Progettazione di Algoritmi Matricole congrue a 1. Docente: Annalisa De Bonis

Code a priorità. Progettazione di Algoritmi Matricole congrue a 1. Docente: Annalisa De Bonis Code a priorità Progettazione di Algoritmi 2018-19 Matricole congrue a 1 Docente: Annalisa De Bonis 26 Coda a priorità Una coda a priorità è un collezione di elementi a ciascuno dei quali è assegnata una

Dettagli

Algoritmi e Strutture Dati. Alberi di Ricerca Alberi Bilanciati I (Alberi AVL)

Algoritmi e Strutture Dati. Alberi di Ricerca Alberi Bilanciati I (Alberi AVL) Algoritmi e Strutture Dati Alberi di Ricerca Alberi Bilanciati I (Alberi AVL) Alberi bilanciati di ricerca Gli alberi binari di ricerca sono semplici da gestire (inserimenti e cancellazioni facili da implementare)

Dettagli

Il passo del gambero. La soluzione di problemi con la tecnica del Backtracking. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez.

Il passo del gambero. La soluzione di problemi con la tecnica del Backtracking. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez. Il passo del gambero La soluzione di problemi con la tecnica del Backtracking Nel labirinto Nel labirinto In ogni posizione provo sistematicamente tutte le strade, ricordando ogni volta l ultima scelta

Dettagli

Esempi. Albero di interi. Struttura che non è un albero!

Esempi. Albero di interi. Struttura che non è un albero! albero si dice "grafo diretto" un insieme di nodi legati "a due a due" da archi direzionati (puntatori) un albero è un grafo diretto in cui ogni nodo può avere un solo arco entrante ed un qualunque numero

Dettagli

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,

Dettagli

Algoritmi e Strutture di Dati

Algoritmi e Strutture di Dati Algoritmi e Strutture di Dati Capitolo 0 - Code con priorità e insiemi disgiunti This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license,

Dettagli

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. 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

Dettagli

Albero binario: Ogni nodo ha zero, uno, o due successori (ordinati)

Albero binario: Ogni nodo ha zero, uno, o due successori (ordinati) Heap 1 Vittorio Maniezzo - Università di Bologna Alberi binari Albero binario: Ogni nodo ha zero, uno, o due successori (ordinati) Albero binario completo: Tutte le foglie hanno la stessa profondità e

Dettagli

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 27 marzo 2012 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,

Dettagli

ESEMPIO 1 Per portare un bicchiere d acqua (forza F=2,5 N) dal tavolo alla bocca (spostamento

ESEMPIO 1 Per portare un bicchiere d acqua (forza F=2,5 N) dal tavolo alla bocca (spostamento 8. L ENERGIA La parola energia è una parola familiare: gli elerodomesici, i macchinari hanno bisogno di energia per funzionare. Noi sessi, per manenere aive le funzioni viali e per compiere le azioni di

Dettagli

Algoritmi e Strutture Dati. Alberi Bilanciati: Alberi Red-Black

Algoritmi e Strutture Dati. Alberi Bilanciati: Alberi Red-Black Algoritmi e Strutture Dati Alberi Bilanciati: Alberi Red-Black Alberi bilanciati di ricerca Gli alberi binari di ricerca sono semplici da gestire (inserimenti e cancellazioni facili da implementare) ma

Dettagli

Il numero dei nodi al livello i è 1, per 0 i altezza L altezza h di un albero completamente sbilanciato con n nodi è h = n-1

Il numero dei nodi al livello i è 1, per 0 i altezza L altezza h di un albero completamente sbilanciato con n nodi è h = n-1 alberi completamente sbilanciati Il numero dei nodi al livello i è 1, per 0 i altezza L altezza h di un albero completamente sbilanciato con n nodi è h = n-1 1 Un albero completamente bilanciato o pieno

Dettagli

Alberi binari e alberi binari di ricerca

Alberi binari e alberi binari di ricerca Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Alberi Un albero è una collezione non vuota di: nodi con nome e informazioni

Dettagli

Introduzione agli algoritmi Prova di esame del 19/9/2016 Prof.sse E. Fachini - R. Petreschi. Parte prima

Introduzione agli algoritmi Prova di esame del 19/9/2016 Prof.sse E. Fachini - R. Petreschi. Parte prima Introduzione agli algoritmi Prova di esame del 19/9/2016 Prof.sse E. Fachini - R. Petreschi Parte prima 1) Si dimostri il teorema sulla limitazione inferiore per il tempo asintotico di esecuzione nel caso

Dettagli

Spesso sono definite anche le seguenti operazioni:

Spesso sono definite anche le seguenti operazioni: Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una relazione d ordine. Sono definite almeno le seguenti operazioni:

Dettagli

alberi completamente sbilanciati

alberi completamente sbilanciati alberi completamente sbilanciati Il numero dei nodi al livello i è 1, per 0 i altezza L altezza h di un albero completamente sbilanciato con n nodi è h = n-1 1 Un albero completamente bilanciato o pieno

Dettagli

Alberi binari: definizione e alcune proprietà

Alberi binari: definizione e alcune proprietà Alberi binari: definizione e alcune proprietà Alberi binari Un albero binario è un albero con radice in cui ogni nodo ha al più due figli. In maniera più formale: Definizione. (Alberi binari) Un albero

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

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

Dettagli

Alberi di ricerca binari

Alberi di ricerca binari Fulvio Corno, Matteo Sonza Reorda Dip. Automatica e Informatica Politecnico di Torino Introduzione Gli alberi di ricerca binari (Binary Search Tree, o BST) sono una struttura di dati che supporta in modo

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Alberi di ricerca Dizionari Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato dizionario 2 Alberi binari di ricerca (BST = binary search tree)

Dettagli

Alberi binari e alberi binari di ricerca

Alberi binari e alberi binari di ricerca Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica giovedì 9

Dettagli

ALBERI DI RICERCA BINARI (O ALBERI BINARI DI RICERCA)

ALBERI DI RICERCA BINARI (O ALBERI BINARI DI RICERCA) ALBERI DI RICERCA BINARI (O ALBERI BINARI DI RICERCA) Definizione induttiva: un albero vuoto è un albero di ricerca binario un albero non vuoto avente per radice l'elemento (di chiave) x e per sottoalberi

Dettagli

Heap e Code di Priorità

Heap e Code di Priorità Heap e Code di Priorità heap heap = catasta condizione di heap 1. albero binario perfettamente bilanciato 2. ogni nodo contiene una chiave maggiore o eguale di quelle presenti negli eventuali figli non

Dettagli

Informatica 3. LEZIONE 15: Implementazione di alberi binari - BST. Modulo 1: Implementazione degli alberi binari Modulo 2: BST

Informatica 3. LEZIONE 15: Implementazione di alberi binari - BST. Modulo 1: Implementazione degli alberi binari Modulo 2: BST Informatica 3 LEZIONE 15: Implementazione di alberi binari - BST Modulo 1: Implementazione degli alberi binari Modulo 2: BST Informatica 3 Lezione 15 - Modulo 1 Implementazione degli alberi binari Introduzione

Dettagli

Introduzione Implementazione (1)

Introduzione Implementazione (1) Informatica 3 Informatica 3 LEZIONE 15: Implementazione di alberi binari - BST Modulo 1: Implementazione degli alberi binari Modulo 2: BST Lezione 15 - Modulo 1 Implementazione degli alberi binari Politecnico

Dettagli

Un albero completamente bilanciato o pieno (full) alberi completamente sbilanciati. Un albero binario completo

Un albero completamente bilanciato o pieno (full) alberi completamente sbilanciati. Un albero binario completo alberi completamente sbilanciati Un albero completamente bilanciato o pieno (full) Definizione: Un albero è pieno se tutte le foglie sono sullo stesso livello e ogni nodo non foglia ha due figli. Il numero

Dettagli

Esercizi su ABR. Prof. E. Fachini - Intr. Alg.!1

Esercizi su ABR. Prof. E. Fachini - Intr. Alg.!1 Esercizi su ABR Confronto proprietà ABR e Max-Heap. Proprietà del cammino radice-foglia individuato da una ricerca. Fusione di due ABR. Il successivo calcolato dalla radice Costruzione di un ABR bilanciato

Dettagli

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Definizione Un albero si dice albero binario di ricerca è un albero binario in cui: - Ogni nodo è caratterizzato un valore chiamato chiave - L insieme delle chiavi è totalmente

Dettagli

2. Determinare la velocità v di impatto al suolo del sasso, e commentare se è maggiore o minore di quella di lancio;

2. Determinare la velocità v di impatto al suolo del sasso, e commentare se è maggiore o minore di quella di lancio; 1 Esercizio Un uomo lancia in alo, vericalmene luno l asse z, un sasso da un alezza h 0 = m dal suolo, con una velocià di 10 m/s. Il sasso si muove di moo uniformemene accelerao, con un accelerazione di

Dettagli

Un heap binario è un albero binario con le seguenti caratteristiche:

Un heap binario è un albero binario con le seguenti caratteristiche: Heap Un heap binario è un albero binario con le seguenti caratteristiche: È quasi completo: tutti i livelli, tranna al più l ultimo sono completi e le foglie dell ultimo livello sono tutte adossate a sinistra.

Dettagli

Algoritmi e Strutture Dati Laboratorio 20/10/2008. Prof. Pier Luca Lanzi

Algoritmi e Strutture Dati Laboratorio 20/10/2008. Prof. Pier Luca Lanzi Algoritmi e Strutture Dati Laboratorio 20/10/2008 Primo Esercizio 2 Scrivere un programma per misurare il tempo necessario per ordinare un vettore di interi contenente 10-10 7 elementi utilizzando l insertion

Dettagli

ALBERI : introduzione SOMMARIO ALBERI ALBERI. ALBERI: introduzione ALBERI BINARI: introduzione VISITE RICORSIVE DI ALBERI

ALBERI : introduzione SOMMARIO ALBERI ALBERI. ALBERI: introduzione ALBERI BINARI: introduzione VISITE RICORSIVE DI ALBERI SOMMARIO ALBERI: introduzione ALBERI BINARI: introduzione VISITE RICORSIVE DI ALBERI Dimensione e Altezza ALBERI BINARI DI RICERCA (BST) Introduzione Ricerca, inserimento e cancellazione Implementazione

Dettagli

Alberi ed Alberi Binari di Ricerca

Alberi ed Alberi Binari di Ricerca Alberi ed Alberi Binari di Ricerca 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

Dettagli

Alberi di ricerca. Dizionari. Definizione. Alberi binari di ricerca (BST = binary search tree) Algoritmi e Strutture Dati

Alberi di ricerca. Dizionari. Definizione. Alberi binari di ricerca (BST = binary search tree) Algoritmi e Strutture Dati Algoritmi e Strutture Dati Dizionari Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato dizionario Alberi di ricerca Basato su materiale di C. Demetrescu, I. Finocchi, G.F.

Dettagli

GENERALITA SULLE MACCHINE ELETTRICHE

GENERALITA SULLE MACCHINE ELETTRICHE GENERALITA SULLE MACCHINE ELETTRICHE Una macchina è un organo che assorbe energia di un deerminao ipo e la rasforma in energia di un alro ipo. Energia in Energia in MACCHINA ingresso uscia Energia dispersa

Dettagli

Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.

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

Dettagli

Prova di singoli contenitori

Prova di singoli contenitori Prova di singoli coneniori (ri. On B503:009 6.5.5): Per la prova di singoli coneniori (p. es. vasche di soccaggio, sruure di sollevameno, sruure speciali, osse di aassameno, vasche di depurazione, piccoli

Dettagli

P suolo in P; 2. la distanza d, dall uscita dello

P suolo in P; 2. la distanza d, dall uscita dello acolà di Ingegneria Prova Generale di isica I 1.07.004 Compio A Esercizio n.1 Uno sciaore di massa m = 60 Kg pare da fermo da un alezza h = 8 m rispeo al suolo lungo uno scivolo inclinao di un angolo α

Dettagli

B-Alberi Esercitazioni

B-Alberi Esercitazioni B-Alberi Esercitazioni Introduzione B-Trees: alberi bilanciati di ricerca progettati per essere memorizzati su dischi magnetici. Dischi magnetici molto più lenti delle memorie ad accesso casuale. La misura

Dettagli

SOMMARIO FLIP FLOP MICROFONICO LX 329 5AI TIEE IPSIA Moretto Brescia

SOMMARIO FLIP FLOP MICROFONICO LX 329 5AI TIEE IPSIA Moretto Brescia SOMMARIO SPIEGAZIONE PROVA... 2 FLIP-FLOP SR... 4 TABELLA DELLA VERITA' DELLA PORTA NAND:... 4 SCHEMA ELETTRICO... 6 GRAFICI OSCILLOSCOPIO... 6 BIBLIOGRAFIA... 7 FLIP FLOP MICROFONICO LX 329 5AI TIEE 1993-94

Dettagli

Università del Sannio

Università del Sannio Uniersià del Sannio Corso di Fisica 1 Lezione 3 Cinemaica I Prof.ssa Sefania Peracca Corso di Fisica 1 - Lez. 3 - Cinemaica I 1 Cinemaica La cinemaica è quella branca della fisica che sudia il moimeno

Dettagli

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Definizione Un albero si dice albero binario di ricerca è un albero binario in cui: - Ogni nodo è caratterizzato un valore chiamato chiave - L insieme delle chiavi è totalmente

Dettagli

Introduzione agli algoritmi Prova di esame del 30/6/2016 Prof.sse E. Fachini - R. Petreschi

Introduzione agli algoritmi Prova di esame del 30/6/2016 Prof.sse E. Fachini - R. Petreschi B Introduzione agli algoritmi Prova di esame del 30/6/2016 Prof.sse E. Fachini - R. Petreschi Si consideri l operazione di inserimento in un AVL. Si supponga di trovarsi nel caso in cui una rotazione a

Dettagli

QuickSort Università degli Studi di Milano

QuickSort Università degli Studi di Milano QuickSort Algoritmo di ordinamento sul posto che ha tempo di esecuzione : - O(n 2 ) nel caso peggiore - O(n log n) nel caso medio Nonostante le cattive prestazioni nel caso peggiore, rimane il miglior

Dettagli

Algoritmi e Strutture Dati. Alberi di Ricerca Alberi Bilanciati I (Alberi AVL)

Algoritmi e Strutture Dati. Alberi di Ricerca Alberi Bilanciati I (Alberi AVL) Algoritmi e Strutture Dati Alberi di Ricerca Alberi Bilanciati I (Alberi AVL) Alberi bilanciati di ricerca Gli alberi binari di ricerca sono semplici da gestire (inserimenti e cancellazioni facili da implementare)

Dettagli

In questa lezione. Heap binario heapsort. [CLRS10] cap. 6, par Prof. E. Fachini - Intr. Alg.

In questa lezione. Heap binario heapsort. [CLRS10] cap. 6, par Prof. E. Fachini - Intr. Alg. In questa lezione Heap binario heapsort [CLRS10] cap. 6, par. 6.1-6.4!1 Heap binari Un heap binario è una struttura dati consistente di un array visto come un albero binario. A= 5 60 65 30 50 18 40 25

Dettagli

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees Databases Architettura di un DBMS: Struttura ad indice per i files, B + -Trees Indici Un indice consiste di coppie e supporta l efficiente recupero di tutte le etichette con chiave

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Esercitazione 7 Domenico Fabio Savo 1 Esercitazione: heap Abbiamo visto come utilizzare i MAX-HEAP nell'algoritmo di ordinamento heapsort che permette di ordinare un array di

Dettagli

METODI DI ACCESSO. (INDICI B + -Tree) indici 2

METODI DI ACCESSO. (INDICI B + -Tree) indici 2 METODI DI ACCESSO (INDICI B + -Tree) indici 2 organizzazioni con indice IDEA DI BASE : associare ad un file una tabella nella quale l'entrata i-esima memorizza una coppia del tipo (k i,p i ) dove : k i

Dettagli

dizionari dizionari introduzione al bilanciamento dizionari/2 alberi bilanciati ! ADT che supportano le seguenti operazioni

dizionari dizionari introduzione al bilanciamento dizionari/2 alberi bilanciati ! ADT che supportano le seguenti operazioni dizionari dizionari alberi bilanciati! ADT ce supportano le seguenti operazioni! membersip! ance detta searc! insert! delete! o remove! le liste e i BST sono dizionari maggio 2002 ASD2002 - Alberi bilanciati

Dettagli

Alberi binari (radicati e ordinati) della radice Il padre del nodo 5 e del nodo 3

Alberi binari (radicati e ordinati) della radice Il padre del nodo 5 e del nodo 3 Alberi binari (radicati e ordinati) Il figlio sinistro della radice Il padre del nodo 5 e del nodo 3 4 3 Il figlio sinistro del nodo 2 2 5 1 6 7 8 9 La radice Il figlio destro della radice una foglia Figlio

Dettagli