Esercizi per il corso di Algoritmi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercizi per il corso di Algoritmi"

Transcript

1 1 Esercizi per il corso di Algoritmi Esercizi sulle Notazioni Asintotiche 1. Esercizio: In ciascuno dei seguenti casi, indicare se f(n) = O(g(n)), o se f(n) = Ω(g(n)), oppure entrambi (nel cui caso occorre indicare che f(n) = Θ(g(n)). (a) f(n) = n n, g(n) = 5n + 2 n log n (b) f(n) = 10n log n, g(n) = (n/10) 4 n (c) f(n) = 5n + 10 n, g(n) = n 10 n log n (d) f(n) = n 3/2 n log n, g(n) = 8n log n (e) f(n) = 3 log n, g(n) = log n 8 (f) f(n) = log n, g(n) = log n (g) f(n) = 6n 5 + n log n 2 + n, g(n) = n 5 4n log n 2 8 n (h) f(n) = n 1.01, g(n) = n(log n) 3 (i) f(n) = 7 n, g(n) = 8 n (j) f(n) = 3 log 2 n, g(n) = 2 log 3 n (k) f(n) = n4 n, g(n) = n! (l) f(n) = 3 n+2, g(n) = 3 n 3 (m) f(n) = n5 n, g(n) = 6 n (n) f(n) = n 2 n 3/2, g(n) = n 2 + n 2/3 (o) f(n) = log n 8, g(n) = log 2 n 2. Esercizio: Date le seguenti funzioni: n n log n, log(n!/2 n ) 4, log log 2 n 3, n 2 +log n 2, 3 n +5 n, n log 3 n, n!, 4n 2 +6n n, 10n+3 log log 2 n, log log n, 4n+20 log n+3 n, log(n!), 5 2 n, n log(n+2) 3, 5n 2 +n log n+n 3/2, 4 log n, n log(n+2) 3, 4 n, 8n log 3 n, partizionarle in insiemi disgiunti A 1, A 2,... tali che entrambe le seguenti condizioni valgano 1. f(n), g(n) A i f(n) = Θ(g(n)) 2. f(n) A i, g(n) A j, con i < j f(n) = O(g(n)) ma f(n) Θ(g(n)) 3. Esercizio: (a) Provare che 5n nlog n n 2 = Θ(n 2 ). (b) Provare che (n + log n)3 n = O(4 n /n).

2 2 4. Esercizio: Date le seguenti funzioni 2n log 3 n, 4 3 n log n, log n 4, n log n, n 2 log n 3, n n, n 5, (log n) n, 10 4 n, n log 3 n, 7 log 3 n, n 3 3 n, 10 log log 2 n, 3 log n 4, n!, n 1/log n ordinarle scrivendole da sinistra a destra in modo tale che la funzione f(n) venga posta a sinistra della funzione g(n) se f(n) = O(g(n)). 5. Esercizio: Tracciare una linea da ciascuna delle cinque funzioni al centro al miglior valore Ω sulla sinistra (ovvero alla funzione sulla sinistra che cresce piú velocemente e che continua ad essere Ω di quella centrale), ed al miglior valore O sulla destra (ovvero alla funzione sulla destra che cresce meno velocemente e che continua ad essere O di quella centrale). Ω(1/n) O(1/n) Ω(1) O(1) Ω(log log n) O(log log n) Ω(log n) O(log n) Ω(log 2 n) O(log 2 n) Ω( 3 n) O( 3 n) Ω(n/ log n) 1/( n) O(n/ log n) Ω(n) 2n 4 3n 3 O(n) Ω(n ) (n 3 + n)/(n log 2 n + log n) O(n ) Ω(n 2 / log 2 n) 3 (log 3 n)3 O(n 2 / log 2 n) Ω(n 2 / log n) 4 n O(n 2 / log n) Ω(n 2 ) O(n 2 ) Ω(n 3/2 ) O(n 3/2 ) Ω(2 n ) O(2 n ) Ω(5 n ) O(5 n ) Ω(n n ) O(n n ) Ω(n n2 ) O(n n2 ) 6. Esercizio: Provare che se f 1 (n) = O(g 1 (n)) e f 2 (n) = O(g 2 (n)), allora f 1 (n)+f 2 (n) = O(g 1 (n)+ g 2 (n)). 7. Esercizio: Provare che se f 1 (n) = Ω(g 1 (n)) e f 2 (n) = Ω(g 2 (n)), allora f 1 (n)+f 2 (n) = Ω(g 1 (n)+ g 2 (n)). 8. Esercizio: Provare che se f 1 (n) = O(g 1 (n)) e f 2 (n) = O(g 2 (n)), allora f 1 (n) + f 2 (n) = O(max{g 1 (n), g 2 (n)}).

3 3 9. Esercizio: Si supponga di avere due funzioni f(x) e g(x) tali che f(x) = O(g(x)). Per ciascuna delle seguenti affermazioni, di dica se essa é vera, fornendone una prova, o falsa, fornendone un contresempio. (a) log f(x) = O(log g(x)) (b) 2 f(n) = O(2 g(x) ) (c) f(n) 2 = O(g(n) 2 ) 10. Esercizio: Si supponga che f 1 (n) = Θ(g 1 (n)) e che f 2 (n) = Θ(g 2 (n)). É vero che f 1 (n) + f 2 (n) = Θ(g 1 (n) + g 2 (n))? É vero che f 1(n) + f 2 (n) = Θ(max{g 1 (n), g 2 (n)})? É vero che f 1 (n) + f 2 (n) = Θ(min{g 1 (n), g 2 (n)})? Giustificare le risposte. 11. Esercizio: Provare che se f 1 (n) = O(g 1 (n)) e f 2 (n) = O(g 2 (n)), allora f 1 (n) f 2 (n) = O(g 1 (n) g 2 (n)). 12. Esercizio: Provare che se f 1 (n) = Ω(g 1 (n)) e f 2 (n) = Ω(g 2 (n)), allora f 1 (n) f 2 (n) = Ω(g 1 (n) g 2 (n)). 13. Esercizio: Provare o refutare: per tutte le funzioni f(n) e g(n), o vale che f(n) = O(g(n)), oppure vale che g(n) = O(f(n)). 14. Esercizio: Per ciascuna delle seguenti funzioni f, si trovi la piú semplice possibile funzione g tale che f(n) = Θ(g(n)). (a) f(n) = 3 n + 4 n + n 5 (b) f(n) = n 2 + n log n + n n (c) f(n) = 10 log(n 10 ) + (log n) 5 + log log n (d) f(n) = (1/2) n + n 10 (e) f(n) = 2n 3 + 2n 2 n + 3n 2 log 5 n 7 (f) f(n) = n 2 log n + 34n 2 + n 3 / log 4 n 5 (g) f(n) = n 5 log 3 n + (2 n /n 10 ) + n (h) f(n) = n 1/ log n + (log n)/n + 1 (i) f(n) = 10n 2 + 2n log n 7 + n 3 n + n 4 / log n + 100n 3 (j) f(n) = 2 log n + 4 log n n + log 6 n (k) f(n) = 2 (log n)2 + n n 7 n (l) f(n) = 4 log n + n log 3 n 4 + 3n n

4 4 (m) f(n) = 4 n + n n! + n log n (n) f(n) = (3/2) n + n 4 + n 6 n (o) f(n) = 7n log n + (log n) n + n 8 (log n 5 ) Esercizio: Provare che (a) 2(n + 2) 2 = O(n 2 ) (b) 5n 2 8n log n + 9n n = O(n 2 ) (c) 3n log n = O(n 2 ) (d) n log n 3n 18 = Ω(n) (e) n 3 3n 2 n n + log n 5 = Θ(n 3 ) (f) n 2 = O(2 n ) (g) n = O(2 n ) (h) cn + d = O(2 n ) per tutte le costanti c, d R + (i) cn k + d = O(2 n ) per tutte le costanti c, d, k R + (j) 3n n log n = O(n 2 ) (k) n/(log n 4 ) = Ω( n) 16. Esercizio: Per ciascuna delle seguenti coppie di funzioni f e g, trovare costanti c R + per cui f(n) c g(n), per ogni n > 1. (a) f(n) = 3n 2 + 4n, g(n) = n 2 (b) f(n) = 2 n log n + 1, g(n) = n + n 2 (c) f(n) = n 3 + n , g(n) = 2n 4 (d) f(n) = n n + 4n 2, g(n) = n 2 (e) f(n) = 12n + 3, g(n) = n 7 (f) f(n) = n 2 n + 1, g(n) = n 2 /10 (g) f(n) = 3n + 1, g(n) = (2n 2 10n)/6 (h) f(n) = 5 n log n 1, g(n) = n n

5 5 Esercizi sull Analisi di Algoritmi 1. Esercizio: Si consideri la seguente equazione di ricorrenza per la funzione T(n): T(n) = T(c 1 n) + T(c 2 n) T(c k n) + Θ(n), per costanti positive c 1,...,c k tali che c c k < 1. Si provi che T(n) = Θ(n), usando il metodo induttivo. 2. Esercizio: Si consideri il seguente Algoritmo k 1; s 0 while k n do for j 1 to n do s j k k 2 k 3. Esercizio: Si consideri il seguente Algoritmo k 0; s 0, t 0 while k n do for j 1 to n do s j k t t + 1 k t + k 4. Esercizio: Si consideri il seguente Algoritmo k 0; s 0, t 0, j 1 while k n do while j n do t t + 1 s j k j 2 j k t + k

6 6 5. Esercizio: Si consideri il seguente Algoritmo k 0; s 0, t 0, j 1 while k n do while j n do s j k j 2 j t t + 1 k 2 k 6. Esercizio: Si consideri il seguente Algoritmo i 1; r 0 while i n do for j 1 to n i do r r + i i i 2 7. Esercizio: Si consideri il seguente algoritmo: Algoritmo B(n) x 1 if n = 1 or n = 2 then do x x + 1 else B(n 2); for i = 1 to n do x x + 1 B(n 2) Si derivi una equazione di ricorrenza che descrive la complessità dell algoritmo B(n), e la si risolva, usando il metodo di iterazione.

7 7 8. Esercizio: Si consideri il seguente algoritmo Algorithm(n) che prende in input un intero n 0 e che effettua le seguenti operazioni: Algorithm(n) if n 1 then esegue 2 operazioni e si ferma Esegue n/5 operazioni Algorithm(n/5) Esegue n/5 operazioni Algorithm(n/6) Esegue n/3 operazioni Algorithm(n/6) Detto T(n) il tempo di esecuzione di Algorithm(n) sull input n, scrivere una equazione di ricorrenza per T(n). Trovare una costante c tale che T(n) cn, per ogni n 1. Si assuma che ogni operazione elementare costi Esercizio: Si consideri il seguente algoritmo: if n = 1 then return(0) else Algoritmo(n/2) x 0; i 0 while x n do x x + (2i + 1) i i + 1 Si esprima la complessitá di mediante una equazione di ricorrenza e se ne dia una soluzione in termini della notazione Θ. 10. Esercizio: Si consideri il seguente algoritmo: Arcanum(X[i... j]) if j = i then return (X[i]) else m = (i + j)/2 x Arcanum(X[i...m]) y Arcanum(X[m j]) if x y then return (x) else return (y) (a) Cosa calcola l algoritmo, una volta chiamato su di un array X[1...n] di n interi? (b) derivare una equazione di ricorrenza per la complessitá dell algoritmo e risolverla. Giustifcare le affermazioni fatte.

8 8 11. Esercizio: Si consideri il seguente algoritmo: Alg(n) r 0 for j 1 to n do i n while i j do r r + i i i 1 return (r) Valutare la complessitá dell algoritmo mediante la notazione Θ, in funzione del parametro n. 12. Esercizio: Sia T(1) = 1. Risolvere le seguenti equazioni di ricorrenza, usando i teoremi visti a lezione (a) T(n) = 2T(n/2) + 5n 3 (b) T(n) = T(9n/10) + 2n (c) T(n) = 16T(n/4) + 8n 2 (d) T(n) = 7T(n/3) + 12n 2 (e) T(n) = 7T(n/2) + 6n 2 (f) T(n) = 2T(n/4) + 4 n (g) T(n) = T(n 1) + n (h) T(n) = T( n) Esercizio: Si consideri il seguente algoritmo: Algoritmo S(n) if n = 1 then return(0) else S(n/3) x 0 while x 3n 3 do x x + 3 S(n/3) Si derivi una equazione di ricorrenza che descrive la complessità dell algoritmo S(n), e la si risolva.

Esercizi per il corso di Algoritmi, anno accademico 2014/15

Esercizi per il corso di Algoritmi, anno accademico 2014/15 1 Esercizi per il corso di Algoritmi, anno accademico 2014/15 Esercizi sulle Notazioni Asintotiche 1. Esercizio: Provare le seguenti relazioni, esibendo opportune costanti c 1,c 2 ed n 0. Si assuma per

Dettagli

Lezione 4 Ugo Vaccaro

Lezione 4 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2017 2018 Lezione 4 Ugo Vaccaro Introduciamo ora la notazione Ω, che ci sarà utile quando vorremo valutare limitazioni inferiori al tempo di esecuzione di algoritmi

Dettagli

Algoritmi e strutture dati. Analisi di algoritmi Funzioni di costo, notazione asintotica

Algoritmi e strutture dati. Analisi di algoritmi Funzioni di costo, notazione asintotica Algoritmi e strutture dati Analisi di algoritmi Funzioni di costo, notazione asintotica Alberto Montresor Università di Trento 2016/09/11 This work is licensed under a Creative Commons Attribution-ShareAlike

Dettagli

Algoritmi e Strutture Dati. Analisi di algoritmi Funzioni di costo, notazione asintotica

Algoritmi e Strutture Dati. Analisi di algoritmi Funzioni di costo, notazione asintotica Algoritmi e Strutture Dati Analisi di algoritmi Funzioni di costo, notazione asintotica Alberto Montresor Università di Trento 2018/12/27 This work is licensed under a Creative Commons Attribution-ShareAlike

Dettagli

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

Esercitazione 7 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 7 Algorithmi e Strutture Dati (Informatica) A.A 015/016 Tong Liu April 1, 016 Elementi fondamentali Notazioni Asintotiche Definition 1.1. (Notazione O) Sia g (n) una funzione di costo; indichiamo

Dettagli

Analisi asintotica. Astrazione: come il tempo di esecuzione cresce in funzione della taglia dell input asintoticamente.

Analisi asintotica. Astrazione: come il tempo di esecuzione cresce in funzione della taglia dell input asintoticamente. Analisi asintotica Vittorio Maniezzo University of Bologna Analisi asintotica Obiettivo: semplificare l analisi del consumo di risorse di un algoritmo prescindendo dai dettagli implementativi o di altro

Dettagli

Appendice B. Algoritmi e Complessità

Appendice B. Algoritmi e Complessità Appendice B Algoritmi e Complessità 1. Introduzione Un algoritmo A è una procedura passo-passo per risolvere un problema P. Un problema P è caratterizzato dall insieme I delle sue istanze. L algoritmo

Dettagli

Sommario della Lezione

Sommario della Lezione Sommario della Lezione Analisi di Algoritmi Ricorsivi: Come esprimere la complessitá di algoritmi ricorsivi mediante relazioni di ricorrenza Come derivare le relazioni di ricorrenza Come risolvere le relazioni

Dettagli

Notazioni asintotiche. Martedì 30 settembre 2014

Notazioni asintotiche. Martedì 30 settembre 2014 Notazioni asintotiche Martedì 30 settembre 2014 Punto della situazione Cos è un algoritmo Tempo di esecuzione T(n) Analisi di algoritmi: analisi asintotica di T(n) Argomento di oggi: Notazioni asintotiche:

Dettagli

Di cosa parliamo oggi?

Di cosa parliamo oggi? Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/41 Di cosa parliamo oggi? Oggi parliamo di Analisi di Algoritmi Analisi di Algoritmi = valutazione delle risorse

Dettagli

2.1 Computational Tractability. Chapter 2. Basics of Algorithm Analysis. Efficienza degli algoritmi. Efficienza degli algoritmi

2.1 Computational Tractability. Chapter 2. Basics of Algorithm Analysis. Efficienza degli algoritmi. Efficienza degli algoritmi Chapter 2 2.1 Computational Tractability Basics of Algorithm Analysis 1 Efficienza degli algoritmi Efficienza degli algoritmi Siamo interessati soprattutto running time ma anche spazio, ovvero memoria

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Analisi di algoritmi Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno Parte I Analisi

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

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo

Dettagli

Tecniche di analisi degli algoritmi

Tecniche di analisi degli algoritmi Tecniche di analisi degli algoritmi Damiano Macedonio mace@unive.it Algoritmi e Strutture Dati, A.A. 2012/13 27 ottobre 2012 Original work Copyright c 2009 Moreno Marzolla, Università di Bologna Modifications

Dettagli

Esercizi per il corso di Algoritmi, anno accademico 2011/12

Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, nè in C++, etc. ). Di tutti gli

Dettagli

Proprietà delle notazioni asintotiche

Proprietà delle notazioni asintotiche Proprietà delle notazioni asintotiche Punto della situazione Cos è un algoritmo Tempo di esecuzione T(n) Analisi di algoritmi: analisi asintotica di T(n) Notazioni asintotiche Argomento di oggi Proprietà

Dettagli

Tempo e spazio di calcolo

Tempo e spazio di calcolo Tempo e spazio di calcolo Modelli di calcolo e metodologie di analisi In quale modo stimiamo il tempo di calcolo? Possiamo considerare due approcci: Approccio empirico (a posteriori) Approccio teorico

Dettagli

Tecniche di analisi degli algoritmi

Tecniche di analisi degli algoritmi Tecniche di analisi degli algoritmi Moreno Marzolla marzolla@cs.unibo.it Dipartimento di Scienze dell Informazione, Università di Bologna 19 ottobre 2010 Copyright c 2009, 2010 Moreno Marzolla, Università

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Analisi asintotica e Ricorrenze Esercizi Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Notazioni O, Ω e Θ Parte I Notazioni

Dettagli

Valutazione di progressioni geometriche

Valutazione di progressioni geometriche Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 1/22 Valutazione di progressioni geometriche Somme finite: Sia S n = n i=0

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla http://www.moreno.marzolla.name/ Ultima Modifica: 7 ottobre 202 Copyright Portions of this work are Copyright 202, Moreno Marzolla. This work is licensed

Dettagli

Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet

Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet Algoritmi e Strutture di Dati I 1 Algoritmi e Strutture di Dati I Massimo Franceschet Algoritmi e Strutture di Dati I 2 Problemi Un problema specifica in termini generali una relazione che intercorrere

Dettagli

Crescita funzioni. 20 novembre Come possiamo confrontare le funzioni di costo che abbiamo ottenuto finora?

Crescita funzioni. 20 novembre Come possiamo confrontare le funzioni di costo che abbiamo ottenuto finora? Crescita funzioni 20 novembre 2006 1 Funzioni di costo Definizione 1 (Funzione di costo). Utilizziamo il termine funzione di costo per indicare una funzione f : N R dall insieme dei numeri naturali ai

Dettagli

Definizioni di base. Algoritmo: procedura computazionale ben definita che prende valori in input e produce valori in output.

Definizioni di base. Algoritmo: procedura computazionale ben definita che prende valori in input e produce valori in output. ANALISI DELLA COMPLESSITÀ DEGLI ALGORITMI Definizioni di base Algoritmo: procedura computazionale ben definita che prende valori in input e produce valori in output. Un algoritmo è uno strumento per risolvere

Dettagli

Di cosa parliamo oggi?

Di cosa parliamo oggi? Di cosa parliamo oggi? Oggi parliamo di Analisi di Algoritmi Analisi di Algoritmi = valutazione delle risorse usate da algoritmi per risolvere un dato problema Risorse = Tempo impiegato dall algoritmo

Dettagli

Complessità computazionale concreta

Complessità computazionale concreta Complessità computazionale concreta Che cos è la teoria della complessità? La teoria della complessità è un tentativo di dare una risposta matematica a domande come: Cosa vuol dire che un algoritmo è più

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Marco Tarini e-mail: marco.tarini@uninsubria.it Argomenti del corso Calcolo del tempo di computazione di un algoritmo: Esercizi di analisi formale: sommatorie,

Dettagli

Tempo e spazio di calcolo

Tempo e spazio di calcolo Tempo e spazio di calcolo Modelli di calcolo e metodologie di analisi F. Damiani - Alg. & Lab. 04/05 (da M. Zacchi - Alg. & Lab. 03/04) In quale modo stimiamo il tempo di calcolo? Possiamo considerare

Dettagli

Notazione asintotica. notazione Ω. notazione O. notazione o notazione ω. Marina Zanella Algoritmi e strutture dati Richiami matematici 1

Notazione asintotica. notazione Ω. notazione O. notazione o notazione ω. Marina Zanella Algoritmi e strutture dati Richiami matematici 1 Notazione asintotica Sebbene si possa talvolta determinare il tempo esatto di esecuzione di un algoritmo, l estrema precisione non giustifica lo sforzo del calcolo; infatti, per input sufficientemente

Dettagli

Notazione asinto+ca II parte. IASD a.a A. De Bonis

Notazione asinto+ca II parte. IASD a.a A. De Bonis Notazione asinto+ca II parte Notazione asinto+ca limite inferiore e superiore Date f : n N f(n) R +, g : n N g(n) R +, f(n) = Ο(g(n)) g(n)=ω(f(n)) InfaH, applicando la definizione di Ο f(n) = Ο(g(n)) c

Dettagli

Laboratorio Algoritmi 2016

Laboratorio Algoritmi 2016 Laboratorio Algoritmi 2016 Lunedì 10:30 13:30 Aula 2 in via Saldini. Ricevimento: inviare e-mail a frasca@di.unimi.it. 44 ore (9 CFU) Linguaggio di programmazione: C Esame : progetto Sito del corso http://frasca.di.unimi.it/algm16/algm.html

Dettagli

Algoritmi e Strutture Dati

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

Dettagli

Fondamenti di Programmazione - Prof.ssa Gargano Anno Acc Esercitazioni 2009

Fondamenti di Programmazione - Prof.ssa Gargano Anno Acc Esercitazioni 2009 Fondamenti di Programmazione - Prof.ssa Gargano Anno Acc. 2008-09 Esercitazioni 2009 1. Mostrare per induzione che per ogni intero positivo n 0, la seguente affermazione S(n) é vera: S(n): n i=0 2i = 2

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Ricorrenze Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno

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

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati Capitolo 4 Ordinamento: Selection e Insertion Sort Ordinamento Dato un insieme S di n elementi presi da un dominio totalmente ordinato, ordinare S in ordine non crescente o non

Dettagli

Appunti lezione Capitolo 2 Analisi delle funzioni di costo

Appunti lezione Capitolo 2 Analisi delle funzioni di costo Appunti lezione Capitolo Analisi delle funzioni di costo Alberto Montresor 0 Settembre, 016 1 Funzioni di costo Definizione 1 (Funzione di costo). Utilizziamo il termine funzione di costo per indicare

Dettagli

Tecniche di analisi degli algoritmi

Tecniche di analisi degli algoritmi Tecniche di analisi degli algoritmi Moreno Marzolla, Lorenzo Donatiello Dipartimento di Infromatica, Università di Bologna 11 novembre 2014 Copyright c 2009, 2010 Moreno Marzolla, Università di Bologna

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Ω (grande omega) Diciamo che T(n) = Ω (f(n)), - leggiamo T(n) ha complessità

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino I conigli di Fibonacci Ricerca Binaria L isola dei conigli Leonardo da

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

ESERCITAZIONI DI INTRODUZIONE AGLI ALGORITMI (A.A. 08/09)

ESERCITAZIONI DI INTRODUZIONE AGLI ALGORITMI (A.A. 08/09) ESERCITAZIONI DI INTRODUZIONE AGLI ALGORITMI (A.A. 08/09) DISPENSA N. 4 1. Ricerca Binaria Ricorsiva L algoritmo Ricerca Binaria risolve il problema della ricerca di una chiave in un vettore. È un esempio

Dettagli

Sostituire cf(n) a ciascun termine O(f(n)), dove c è una costante reale simbolica specifica per quel termine

Sostituire cf(n) a ciascun termine O(f(n)), dove c è una costante reale simbolica specifica per quel termine Esempio 1 Ricorrenza da risolvere BASE T(1) = O(1) INDUZIONE T(n) = O(1) + T(n 1) per n > 1 Procedimento Sostituire cf(n) a ciascun termine O(f(n)), dove c è una costante reale simbolica specifica per

Dettagli

In questa lezione: correttezza del mergesort Analisi del mergesort: relazioni di ricorrenza e alberi della ricorsione

In questa lezione: correttezza del mergesort Analisi del mergesort: relazioni di ricorrenza e alberi della ricorsione In questa lezione: correttezza del mergesort Analisi del mergesort: relazioni di ricorrenza e alberi della ricorsione Prof E Fachini - Intr Alg 1 MergeSort: correttezza MergeSort (A,p,r) if p < r then

Dettagli

Ordinamenti e crescita della complessità

Ordinamenti e crescita della complessità Ordinamenti e crescita della complessità Informatica@SEFA 07/08 - Lezione Massimo Lauria Venerdì, 7 Ottobre 07 Nota bibliografica: Il contenuto di questa e di alcune delle prossime

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

Quick Sort. PARTITION(A,p,r) risistema il sottoarray A[p...r] e riporta l indice q:

Quick Sort. PARTITION(A,p,r) risistema il sottoarray A[p...r] e riporta l indice q: Quick Sort - Ordinamento in loco - Tempo di esecuzione nel caso peggiore: Θ(n 2 ) - Tempo di esecuzione nel caso medio: Θ(n lg n) - I fattori costanti nascosti nella notazione Θ sono abbastanza piccoli

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it 12 ottobre 2010 1 Vero o falso? Per ciascuna delle seguenti affermazioni, dire se è vera o falsa, fornendo una dimostrazione:

Dettagli

Divide et impera (Divide and Conquer) Dividi il problema in sottoproblemi piu` semplici e risolvili ricorsivamente

Divide et impera (Divide and Conquer) Dividi il problema in sottoproblemi piu` semplici e risolvili ricorsivamente Divide et impera (Divide and Conquer) Dividi il problema in sottoproblemi piu` semplici e risolvili ricorsivamente Divide et impera - Schema generale Divide-et-impera (P, n) if n k then risolvi direttamente

Dettagli

Ω (grande omega) Esempio 10 COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

Ω (grande omega) Esempio 10 COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Esempio 10 int potenza(int base, int esp); main () { \* Genera le prime potenze

Dettagli

Esercizi Capitolo 2 - Analisi di Algoritmi

Esercizi Capitolo 2 - Analisi di Algoritmi Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e notazione asintotica Modello di calcolo Per valutare la complessità temporale dei vari algoritmi Fibonacci, abbiamo pedissequamente contato le

Dettagli

Analisi algoritmi ricorsivi e relazioni di ricorrenza

Analisi algoritmi ricorsivi e relazioni di ricorrenza Analisi algoritmi ricorsivi e relazioni di ricorrenza Punto della situazione Finora abbiamo affrontato: il tempo di esecuzione di un algoritmo, l analisi asintotica con le notazioni asintotiche e la tecnica

Dettagli

Per regnare occorre tenere divisi i nemici e trarne vantaggio. fai ad ogni passo la scelta più conveniente

Per regnare occorre tenere divisi i nemici e trarne vantaggio. fai ad ogni passo la scelta più conveniente Progetto di algoritmi sequenziali (un solo esecutore ) Divide et Impera Per regnare occorre tenere divisi i nemici e trarne vantaggio Greedy fai ad ogni passo la scelta più conveniente Buoni risultati

Dettagli

sono le risorse di calcolo necessarie per la sua l esecuzione di un metodo sono tipicamente:

sono le risorse di calcolo necessarie per la sua l esecuzione di un metodo sono tipicamente: Complessità dei metodi e degli algoritmi Carla Binucci e Walter Didimo Efficienza di un metodo Un metodo è tanto più efficiente quanto minori sono le risorse di calcolo necessarie per la sua esecuzione

Dettagli

Si imposti la relazione di ricorrenza che ne descrive la complessità e la si risolva utilizzando il metodo della sostituzione.

Si imposti la relazione di ricorrenza che ne descrive la complessità e la si risolva utilizzando il metodo della sostituzione. parte II - A 2 Si consideri la seguente funzione: analizzami(int n) c = 1 k = n*n while k > 1 do k = k/2 for i = 0 to 3 do if n >1 then analizzami(n/4) Si imposti la relazione di ricorrenza che ne descrive

Dettagli

Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet francesc

Algoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet   francesc Algoritmi e Strutture di Dati I 1 Algoritmi e Strutture di Dati I Massimo Franceschet http://www.sci.unich.it/ francesc m.franceschet@unich.it Algoritmi e Strutture di Dati I 2 Problema dell ordinamento

Dettagli

Analisi degli algoritmi. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis

Analisi degli algoritmi. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis Analisi degli algoritmi Progettazione di Algoritmi a.a. 2015-16 Matricole congrue a 1 Docente: Annalisa De Bonis Efficienza degli algoritmi Proviamo a definire la nozione di efficienza: Un algoritmo è

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

Fondamenti di Informatica II 9. Complessità computazionale

Fondamenti di Informatica II 9. Complessità computazionale Scelta di un algoritmo Fondamenti di Informatica II 9. Complessità computazionale Dato un problema, esistono diversi algoritmi che permettono di risolverlo. I fattori che possono influenzare la scelta

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Scelta di un algoritmo Fondamenti di Informatica 19. Complessità computazionale Dato un problema, esistono diversi algoritmi che permettono di risolverlo. I fattori che possono influenzare la scelta dell

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base

Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile

Dettagli

Notazione asinto0ca. Analisi degli algoritmi 3/22/15

Notazione asinto0ca. Analisi degli algoritmi 3/22/15 Notazione asinto0ca Analisi degli algoritmi Esempio: Inser0onSort(a): //n e` la lunghezza di a FOR(;i0)&& a[j- 1]>elemDaIns){ //cerca il posto per a[i] a[j]=a[j-

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

Esercizi sulla complessità di frammenti di pseudo-codice

Esercizi sulla complessità di frammenti di pseudo-codice Esercizi sulla complessità di frammenti di pseudo-codice Esercizio 1 Si determini la complessità temporale del seguente frammento di pseudo-codice in funzione di n. Il ciclo contiene solo istruzioni elementari;

Dettagli

Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano. Usa la tecnica del divide et impera:

Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano. Usa la tecnica del divide et impera: MergeSort Usa la tecnica del divide et impera: 1 Divide: dividi l array a metà 2 Risolvi i due sottoproblemi ricorsivamente 3 Impera: fondi le due sottosequenze ordinate 1 Esempio di esecuzione 7 2 4 5

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Algoritmi e strutture di dati 2 Paola Vocca Lezione 1: Divide et Impera 1 Paradigma del divide et impera Strutturato in tre fasi. Sia Π() istanza di dimensione di un problema computazionale Π (dove è immediato

Dettagli

Nozioni di base (II Parte)

Nozioni di base (II Parte) Nozioni di base (II Parte) 1 Ricorsione [GTG14, Par. 5.1-5.4 and 13.1] Algoritmo Ricorsivo: algoritmo che invoca se stesso (su istanze sempre più piccole) sfruttando la nozione di induzione. La soluzione

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 4 Ordinamento Ordinamento Dato un insieme S di n oggetti presi da un dominio totalmente ordinato, ordinare S Esempi: ordinare una lista di nomi alfabeticamente, o un

Dettagli

CAPITOLO 2. Divide et Impera

CAPITOLO 2. Divide et Impera CAPITOLO 2 Divide et Impera In questo capitolo discuteremo alcuni algoritmi progettati mediante la tecnica di progettazione del Divide et Impera. Algoritmi progettati usando questa tecnica consistono di

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Analisi di Algoritmi Modelli di calcolo e analisi di algoritmi Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Analisi di Algoritmi Analisi

Dettagli

In questa lezione. Il Mergesort: primo esempio di applicazione della tecnica divide et impera analisi tempo di esecuzione del Mergesort

In questa lezione. Il Mergesort: primo esempio di applicazione della tecnica divide et impera analisi tempo di esecuzione del Mergesort In questa lezione Il Mergesort: primo esempio di applicazione della tecnica divide et impera analisi tempo di esecuzione del Mergesort [CLRS] par. 2.3. Prof. E. Fachini - Intr. Alg.!1 Progettazione di

Dettagli

3.2 Notazioni standard e funzioni comuni

3.2 Notazioni standard e funzioni comuni 3.2 Notazioni standard e funzioni comuni 43 Esercizi 3.1-1 Se f(n) e g(n) sono funzioni asintoticamente non negative, usate la definizione di base della notazione Θ per dimostrare che max(f(n), g(n)) =

Dettagli

Gli algoritmi e la loro complessità

Gli algoritmi e la loro complessità Gli algoritmi e la loro complessità Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Algoritmo Un algoritmo è una procedura di calcolo (eventualmente composta da un certo numero di passi)

Dettagli

Algoritmi e Strutture di Dati

Algoritmi e Strutture di Dati Algoritmi e Strutture di Dati Notazione asintotica m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,

Dettagli

complessità degli algoritmi

complessità degli algoritmi complessità degli algoritmi progetto CORDA informatica algoritmo matematico persiano Muhammad al-khwarizmi (IX secolo) un algoritmo è una sequenza finita di passi interpretabili da un esecutore l esecuzione

Dettagli

Tecniche di analisi degli algoritmi

Tecniche di analisi degli algoritmi Tecniche di analisi degli algoritmi Moreno Marzolla, Lorenzo Donatiello Dipartimento di Infromatica, Università di Bologna 29 ottobre 2017 Copyright c 2009, 2010 Moreno Marzolla, Università di Bologna

Dettagli

Analisi degli algoritmi

Analisi degli algoritmi Analisi degli algoritmi Progettazione di Algoritmi a.a. 2017-18 Matricole congrue a 1 Docente: Annalisa De Bonis Efficienza degli algoritmi Proviamo a definire la nozione di efficienza: Un algoritmo è

Dettagli

Macchina RAM. Modelli di calcolo e metodologie di analisi. Linguaggio di una macchina RAM. Algoritmi e Strutture Dati. Istruzioni.

Macchina RAM. Modelli di calcolo e metodologie di analisi. Linguaggio di una macchina RAM. Algoritmi e Strutture Dati. Istruzioni. Algoritmi e Strutture Dati Macchina RAM Nastro di ingresso Modelli di calcolo e metodologie di analisi Contatore istruzioni Programm a Accumulatore Unità centrale M[0] M[1] Nastro di uscita Basato su materiale

Dettagli

Tecniche Algoritmiche: divide et impera

Tecniche Algoritmiche: divide et impera Tecniche Algoritmiche: divide et impera Una breve presentazione F. Damiani - Alg. & Lab. 04/05 Divide et impera (o Divide and conquer) Per regnare occorre tenere divisi i nemici e trarne vantaggio F. Damiani

Dettagli

Algoritmi e Strutture Dati. Capitolo 1 Un introduzione informale agli algoritmi

Algoritmi e Strutture Dati. Capitolo 1 Un introduzione informale agli algoritmi Algoritmi e Strutture Dati Capitolo Un introduzione informale agli algoritmi Ancora un esempio di problema e soluzioni algoritmiche: i numeri di Fibonacci verso un modello di calcolo più simile a un computer

Dettagli

Algoritmi 25 Febbraio Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI.

Algoritmi 25 Febbraio Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI. Algoritmi 25 Febbraio 2011 Prof.ssa M. Anselmo Università di Salerno Cognome: Nome: Matricola: Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI. Spazio riservato alla correzione

Dettagli

Dati e Algoritmi 1: A. Pietracaprina. Text Processing

Dati e Algoritmi 1: A. Pietracaprina. Text Processing Dati e Algoritmi 1: A. Pietracaprina Text Processing 1 Campi Applicativi text editing web searching computational biology (e.g., DNA analysis) vision... 2 Definizioni Stringa P P P[0]P[1]... P[m 1] (lunghezza

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Fondamenti. Vittorio Maniezzo University of Bologna

Fondamenti. Vittorio Maniezzo University of Bologna Fondamenti 1 Vittorio Maniezzo University of Bologna Problemi problèmas. m. [dal lat. problema-ătis«questione proposta», gr. πρόβλημα -ατος, der. di προβάλλω «mettere avanti, proporre»] (pl. -i). 1.Ogni

Dettagli

Fondamenti. Problemi. Vittorio Maniezzo University of Bologna. Vittorio Maniezzo University of Bologna 2

Fondamenti. Problemi.   Vittorio Maniezzo University of Bologna. Vittorio Maniezzo University of Bologna 2 Fondamenti 1 Vittorio Maniezzo University of Bologna Problemi problèmas. m. [dal lat. problema-ătis«questione proposta», gr. πρόβλημα -ατος, der. di προβάλλω «mettere avanti, proporre»] (pl. -i). 1.Ogni

Dettagli

Selezione per distribuzione

Selezione per distribuzione Selezione per distribuzione Problema: selezione dell elemento con rango r in un array a di n elementi distinti. Si vuole evitare di ordinare a NB: Il problema diventa quello di trovare il minimo quando

Dettagli

Complessità Computazionale. Introduzione

Complessità Computazionale. Introduzione Complessità Computazionale Introduzione Un problema di conteggio Input - Un intero dove. Output - Il numero di coppie ordinate ( i, j ) tali che i e j sono interi e i j. Esempio: =4 (,), (,2), (,3), (,4),

Dettagli

ALGORITMI Docente: Prof. Domenico Cantone

ALGORITMI Docente: Prof. Domenico Cantone CORSO SPECILE DI DURT NNULE PER IL CONSEGUIMENTO DELL BILITZIONE LL INSEGNMENTO NELL SCUOL SECONDRI DI I e II GRDO Indirizzo Fisico - Informatico - Matematico a.a. 00/07 - Classe - Informatica LGORITMI

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Ricerca di Massimo e Minimo di un Array

Ricerca di Massimo e Minimo di un Array Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/18 Ricerca di Massimo e Minimo di un Array Problema. Trova l elemento di

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione informale di algoritmo Insieme di istruzioni, definite

Dettagli

Capitolo 8: Teoria della complessitá

Capitolo 8: Teoria della complessitá Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá

Dettagli

Introduzione agli Algoritmi Appello esame del 2 luglio 2015 Prof. Emanuela Fachini (canale 1) e Prof. Irene Finocchi (canale 2) Parte 1

Introduzione agli Algoritmi Appello esame del 2 luglio 2015 Prof. Emanuela Fachini (canale 1) e Prof. Irene Finocchi (canale 2) Parte 1 Parte 1 Le risposte non motivate non saranno prese in considerazione. Negli esercizi di progettazione, prima di passare allo pseudocodice descrivete l'idea algoritmica soggiacente. Per tutti gli algoritmi

Dettagli

Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi

Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi Algoritmi basati sulla tecnica Divide et Impera In questo corso: Ricerca binaria

Dettagli

Ricerca. Per ricerca si intende il procedimento di localizzazione di una particolare informazione in un elenco di dati.

Ricerca. Per ricerca si intende il procedimento di localizzazione di una particolare informazione in un elenco di dati. Ricerca Per ricerca si intende il procedimento di localizzazione di una particolare informazione in un elenco di dati. Il problema della ricerca in termini generali : dato un insieme D = {a 1,a 2,...,a

Dettagli