Problemi, istanze, soluzioni
|
|
|
- Angelina Ranieri
- 9 anni fa
- Просмотров:
Транскрипт
1 lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un generico ingresso del problema. Una istanza ha associato uno spazio di ricerca nel quale cercare una soluzione per tale istanza del problema. Il problema specifica la proprietà che una soluzione deve avere per risolvere l istanza del problema.
2 lgoritmi e Strutture di Dati II 3 Consideriamo il seguente problema: dato una sequenza di numeri S trovare una permutazione di S che sia ordinata in senso crescente. Una istanza di questo problema è una sequenza S. Lo spazio di ricerca associato a S è l insieme delle permutazioni di S. Una soluzione per l istanza S è una permutazione di S che sia ordinata in senso crescente.
3 lgoritmi e Strutture di Dati II 4 Consideriamo il seguente problema: dato un grafo pesato G e un numero reale k, trovare un albero di supposto di G di costo minore o uguale a k. Una istanza di questo problema è una coppia (G, k). Lo spazio di ricerca associato a (G, k) è l insieme degli alberi di supporto di G. Una soluzione per l istanza (G, k) è un albero di supporto di G il cui costo è minore o uguale a k.
4 lgoritmi e Strutture di Dati II 5 Risolvere o verificare? Un algoritmo che risolve un problema è un algoritmo che prende in ingresso una istanza I del problema e restituisce una soluzione per I. Un algoritmo che verifica un problema è un algoritmo che prende in ingresso una istanza I del problema e un elemento α dello spazio di ricerca associato a I, e verifica se α risolve I.
5 lgoritmi e Strutture di Dati II 6 Risolvere o verificare? HeapSort è un algoritmo che risolve il problema dell ordinamento. La sua complessità è Θ(n log n), ove n è il numero di elementi da ordinare.
6 lgoritmi e Strutture di Dati II 7 L algoritmo che segue verifica il problema dell ordinamento in tempo lineare Θ(n): Check(S,A) 1: for i 1 to length(s) 1 do 2: if A[i] > A[i + 1] then 3: return false 4: end if 5: end for 6: return true
7 lgoritmi e Strutture di Dati II 8 Risolvere o verificare? Il problema dell albero di supporto di costo inferiore ad una certa soglia può essere risolto con questo algoritmo: calcolo l albero di supporto di costo minimo con l algoritmo di Kruskal; verifico se il costo di dell albero restituito è inferiore alla soglia. Dato che un albero di supporto ha n 1 archi, il costo della fase di verifica è Θ(n). La complessità dell algoritmo risulta dunque Θ(n + m log n) = Θ(m log n).
8 lgoritmi e Strutture di Dati II 9 Un algoritmo che verifica il problema dell albero di supporto di costo inferiore ad una certa soglia esegue solo la fase di verifica e dunque ha complessità lineare Θ(n).
9 lgoritmi e Strutture di Dati II 10 Risolvere o verificare? Un algoritmo che risolve un problema può idealmente essere scomposto in due parti: Esplorazione: l algoritmo visita lo spazio di ricerca associato all istanza del problema che deve risolvere; Verifica: l algoritmo verifica se un elemento dello spazio di ricerca soddisfa la proprietà specificata dal problema. Quindi la verifica è parte integrante della soluzione di un problema. In termini computazionali ciò significa che risolvere è impegnativo almeno quanto verificare!
10 lgoritmi e Strutture di Dati II 11 P e NP La classe di complessità P contiene tutti i problemi che possono essere risolti con complessità polinomiale. La classe di complessità NP contiene tutti i problemi che possono essere verificati con complessità polinomiale. Dato che la verifica è parte integrante della soluzione di un problema, abbiamo che: P NP
11 lgoritmi e Strutture di Dati II 12 Problemi NP-completi Un problema Π è NP-completo se: Π NP; e per ogni problema Ω NP, Π è difficile da risolvere almeno quanto Ω. Il altri termini, tra tutti i problemi in NP, i problemi NP-completi sono i più difficili da risolvere. Si noti che se Π è NP-completo e Π P, allora P = NP.
12 lgoritmi e Strutture di Dati II 13 La questione P? = NP Il più grande problema aperto in Teoria della Complessità consiste nel determinare se P NP oppure se P = NP La congettura corrente è che P NP in quanto non è mai stata trovata alcuna soluzione polinomiale per un qualsiasi problema NP-completo.
13 lgoritmi e Strutture di Dati II 14 Problema del commesso viaggiatore (TSP) con soglia Dato un grafo indiretto G, un tour (o ciclo Hamiltoniano) in G è un ciclo semplice (senza nodi ripetuti) che passa per tutti i nodi di G. Istanza: Un grafo G indiretto, completo e pesato con pesi interi e positivi e un intero positivo k. Domanda: Esiste un tour in G di costo minore o uguale a k?
14 lgoritmi e Strutture di Dati II 15 Problema del commesso viaggiatore (TSP) Istanza: Un grafo G indiretto, completo e pesato con pesi interi e positivi. Problema: Trovare un tour in G di costo minimo.
15 lgoritmi e Strutture di Dati II 16 Complessità di TSP TSP può essere verificato in tempo polinomiale: dato un tour, calcolo il suo costo sommando il costo di tutti i suoi archi e verifico se è minore o uguale a k. Quindi TSP NP. E dimostrabile che tutti i problemi in NP possono essere ridotti a TSP, quindi TSP è NP-completo. Fino a oggi, nessuno ha mai trovato un algoritmo che risolve TSP in tempo polinomiale.
16 lgoritmi e Strutture di Dati II 17 Problemi difficili Di fronte a problemi difficili (NP-completi) possiamo procedere in uno dei seguenti modi: identificare casi particolari del problema per i quali esiste una soluzione polinomiale; risolvere il problema nella sua generalità solo su istanze piccole; usare un algoritmo che velocemente restituisce una soluzione parziale (algoritmo incompleto) o una soluzione prossima a quella ottima (algoritmo di approssimazione).
17 lgoritmi e Strutture di Dati II 18 Approx-TSP Vediamo un algoritmo di approssimazione per TSP chiamato Approx-TSP. Un algoritmo incompleto per TSP con soglia si ottiene facilmente a partire dall algoritmo di approssimazione. Sia G = (V, E, w) un grafo indiretto completo con pesi non negativi. Facciamo l ipotesi che la funzione peso w soddisfi la disuguaglianza triangolare: per ogni u, v, w V, w(u, w) w(u, v) + w(v, w) Se w è una metrica (per esempio la distanza Euclidea), allora w soddisfa la disuguaglianza triangolare.
18 lgoritmi e Strutture di Dati II 19 Approx-TSP Approx-TSP è il seguente algoritmo di approssimazione per TSP: 1. scegliere a caso una radice r V ; 2. calcolare un albero T di supporto di costo minimo per G con radice r usando l algoritmo di Prim; 3. visitare i nodi di T in ordine anticipato e inserire i nodi in una lista C; 4. appendere la radice r alla fine della lista C e restituire C.
19 lgoritmi e Strutture di Dati II 20 a d e b f g c h
20 lgoritmi e Strutture di Dati II 21 a d e b f g c h C = a, b, c, h, d, e, f, g, a
21 lgoritmi e Strutture di Dati II 22 a d a d e e b f g b f g c c h h C = a, b, c, h, d, e, f, g, a w(c) = 19,074 C* = a, b, c, h, f, g, e, d, a w(c*) = 14,715
22 lgoritmi e Strutture di Dati II 23 Complessità di Approx-TSP Approx-TSP ha complessità polinomiale: il passo 1 ha costo costante, il passo 2 ha costo Θ(m log n), il passo 3 ha costo Θ(n) e il il passo 4 ha costo costante. Dato che il grafo è completo, m = Θ(n 2 ), dunque il costo di Approx-TSP risulta Θ(n 2 log n)
23 lgoritmi e Strutture di Dati II 24 Grado di approssimazione di Approx-TSP Teorema Nel caso di grafi pesati che soddisfano la disuguaglianza triangolare, la soluzione fornita da Approx-TSP ha costo minore o uguale al doppio del costo della soluzione ottima.
24 lgoritmi e Strutture di Dati II 25 Sia C il tour fornito da Approx-TSP e C il tour di costo minimo. Occorre dimostrare che w(c) 2w(C ) Sia T l albero di supporto di costo minimo. Dato che togliendo un arco qualsiasi a C ottengo un albero di supporto, allora w(t ) w(c )
25 lgoritmi e Strutture di Dati II 26 Sia P il cammino ottenuto seguendo la visita di T in ordine anticipato e inserendo in P ogni nodo quando incontrato: a d e b f g c h P = a, b, c, b, h, b, a, d, e, f, e, g, e, d, a
26 lgoritmi e Strutture di Dati II 27 Si noti che: P passa esattamente due volte per ogni arco di T. Dunque w(p ) = 2w(T ); il tour C è ottenuto elimimando da P le occorrenze ripetute di ogni nodo. Dunque, per la disuguaglianza triangolare, w(c) w(p ). Quindi: w(c) w(p ) = 2w(T ) 2w(C )
27 lgoritmi e Strutture di Dati II 28 Problemi NP-completi Garey and Johnson, nel 1979, nel loro libro Computers and Intractability, catalogano più di 300 problemi NP-completi. Dieci anni dopo, nel 1989, Dewdney afferma nel suo libro The Turning Omnibus l esistenza di più di 2000 problemi NP-completi. A tutt oggi non esiste alcuna soluzione polinomiale pubblicata per alcuno di questi problemi. Ciò suggerisce la congettura P NP.
28 lgoritmi e Strutture di Dati II 29 Albero di supporto con vincolo sul grado dei nodi Istanza: Un grafo G = (V, E) e un intero positivo k V. Domanda: Esiste un albero di supporto per G in cui tutti i nodi dell albero hanno grado minore o uguale a k?
29 lgoritmi e Strutture di Dati II 30 Ciclo/Cammino Hamiltoniano Istanza: Un grafo G. Domanda: Esiste un ciclo/cammino Hamiltoniano in G? Cioè, esiste un ciclo/cammino semplice che passa per tutti i nodi del grafo? Commento: Il problema del cammino Hamiltoniano è invece polinomiale su grafi diretti e aciclici.
30 lgoritmi e Strutture di Dati II 31 Commesso viaggiatore con collo di bottiglia Istanza: Un grafo G indiretto, completo e pesato con pesi interi e positivi e un intero positivo k. Domanda: Esiste un tour in G in cui tutti gli archi hanno costo minore o uguale a k?
31 lgoritmi e Strutture di Dati II 32 Commesso viaggiatore con distanza Euclidea Istanza: Un grafo G indiretto, completo e pesato in cui i nodi sono punti del piano Z Z e il costo di un arco è la distanza Euclidea discretizzata tra i due nodi dell arco e un intero positivo k. Domanda: Esiste un tour in G di costo minore o uguale a k? Commento: Rimane NP-completo se la distanza è L 1 oppure L. Rimane NP-difficile se la distanza è Euclidea (non discretizzata).
32 lgoritmi e Strutture di Dati II 33 Cammino di costo inferiore ad una soglia Istanza: Un grafo G con pesi interi (arbitrari), due nodi s e t di G, e un intero k. Domanda: Esiste un cammino semplice da s a t in G di costo minore o uguale a k? Commento: Il corrispondente problema di ottimizzazione (cammino di costo minimo), cioè trovare il cammino di costo minimo tra due nodi dati, rimane NP-completo. Il problema è invece polinomiale se i pesi sono positivi oppure se il grafo è aciclico.
33 lgoritmi e Strutture di Dati II 34 Cammino di costo superiore ad una soglia Istanza: Un grafo G con pesi interi, due nodi s e t di G, e un intero k. Domanda: Esiste un cammino semplice da s a t in G di costo maggiore o uguale a k? Commento: Il corrispondente problema di ottimizzazione (cammino di costo massimo), rimane NP-completo. Rimane NP-completo anche se i pesi sono positivi. Il problema è invece polinomiale se il grafo è aciclico.
34 lgoritmi e Strutture di Dati II 35 Cammino di lunghezza superiore ad una soglia Istanza: Un grafo G con pesi interi, due nodi s e t di G, e un intero k. Domanda: Esiste un cammino semplice da s a t in G di lunghezza maggiore o uguale a k? Commento: Il corrispondente problema di ottimizzazione (cammino di lunghezza massima) rimane NP-completo. Il problema è invece polinomiale se il grafo è aciclico. Il problema del cammino di lunghezza minima è invece polinomiale.
35 lgoritmi e Strutture di Dati II 36 Dal problema alla soluzione 1. studiare le proprietà del problema; 2. capire se il problema è decidibile; 3. classificare il problema in una classe di complessità; 4. scegliere le strutture per rappresentare i dati del problema; 5. scrivere un algoritmo che risolve il problema; 6. calcolare la complessità dell algoritmo; 7. verificare la correttezza dell algoritmo; 8. implementare l algoritmo in un linguaggio di programmazione; 9. confrontare empiricamente la performance del programma scritto con quella di altri programmi per lo stesso problema.
Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);
Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo
Problema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
Esercizi svolti a lezione
Esercizi svolti a lezione Problema 1 In un corso di laurea sono previsti un certo numero di esami obbligatori. Esistono inoltre dei vincoli di propedeuticità: se un esame A è propedeutico ad un esame B
Cammini minimi fra tutte le coppie
Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)
Matroidi, algoritmi greedy e teorema di Rado
Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione
Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)
Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2
Minimo albero di copertura
apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.
Cammini minimi in grafi:
Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio III: la fine della trilogia Input: nelle puntate
Progettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai
Progettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via
PROBLEMA DEL COMMESSO VIAGGIATORE
PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero
8.10 Algoritmi di approssimazione
296 Capitolo 8 NP-completezza e approssimazione 8.10 Algoritmi di approssimazione Dimostrare che un problema è NP-completo significa rinunciare a progettare per esso un algoritmo polinomiale di risoluzione
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
Algoritmi Approssimanti per -TSP
Dispensa del corso di TAA redatta da Amati Di auro Rattà. Algoritmo 5 e APX per il problema Algoritmi Approssimanti per -TSP Definizione (TSP) Il problema del commesso viaggiatore (TSP) è definito come
Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2
Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)} Rappresentiamo sul piano gli insiemi ammissibili.
Esercizi vari. Alberto Montresor. 19 Agosto, 2014
Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni
Algoritmi e Strutture Dati. Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal
Algoritmi e Strutture Dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Progettare una rete stradale Supponiamo di dover progettare una rete stradale in cui il costo di costruzione di un
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento
METODI DELLA RICERCA OPERATIVA
Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco ([email protected]) i i Dott.ing. Maria Ilaria Lunesu ([email protected])
11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi
Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore
Algoritmi e strutture dati
Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = è dato da: Un cammino minimo tra una coppia di
Parte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
Il problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
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
Cammini Minimi. Algoritmo di Dijkstra
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
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
ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I
ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si
Teoria della Complessità Concetti fondamentali
Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non
Euristiche per il Problema del Commesso Viaggiatore
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni [email protected] Il materiale presentato
ESERCIZI SULLA TECNICA Greedy
ESERCIZI SULLA TECNICA Greedy 1. [FILE] Si supponga di avere n files di lunghezze l 1,..., l n (interi positivi) che bisogna memorizzare su un disco di capacità data D. Si assuma che la somma delle lunghezze
2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di
Progettazione di algoritmi
Progettazione di algoritmi Discussione dell'esercizio [vincoli] Prima di tutto rappresentiamo il problema con un grafo G: i nodi sono le n lavorazioni L 1, L 2,, L n, e tra due nodi L h, L k c'è un arco
Gestione della produzione e della supply chain Logistica distributiva
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non
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
Possibile applicazione
p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile
Parte IV: Matrici totalmente unimodulari
Parte IV: Matrici totalmente unimodulari Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)}
Programmazione Dinamica (PD)
Programmazione Dinamica (PD) Altra tecnica per risolvere problemi di ottimizzazione, piu generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni
Grafi (orientati): cammini minimi
Grafi (orientati): cammini minimi Una breve presentazione Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Un cammino minimo tra
Esercizi Union-Find e su Grafi. Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste
Introduzione ai grafi
TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale
Algoritmi e Strutture Dati
Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli
Strutture dati per insiemi disgiunti
Strutture dati per insiemi disgiunti Servono a mantenere una collezione S = {S 1, S 2,..., S k } di insiemi disgiunti. Ogni insieme S i è individuato da un rappresentante che è un particolare elemento
2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
