Ottimizza la somma. Supponete di avere in input un vettore di n interi positivi distinti V [1... n] e un valore W. Scrivere un algoritmo che:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ottimizza la somma. Supponete di avere in input un vettore di n interi positivi distinti V [1... n] e un valore W. Scrivere un algoritmo che:"

Transcript

1 Ottimizza la somma Supponete di avere in input un vettore di n interi positivi distinti V [1... n] e un valore W. Scrivere un algoritmo che: 1 restituisca il massimo valore X = n i=1 x[i]v [i] tale che X W e ogni x[i] è un intero non negativo; 2 stampi il vettore x. Ad esempio, per V [ ] = {18, 3, 21, 9, 12, 24} e W = 17, una possibile soluzione ottima è X[ ] = {0, 2, 0, 1, 0, 0} da cui deriva X = 15. Discutere correttezza e complessità. Alberto Montresor (UniTN) 19 novembre / 13

2 Hateville Hateville è un villaggio particolare, composto da n case, numerate da 1 a n lungo una singola strada. Ad Hateville ognuno odia i propri vicini della porta accanto, da entrambi i lati; quindi il vicino i odia i vicini i 1 e i + 1 (se esistenti). Hateville vuole organizzare una sagra e ha lanciato una raccolta fondi che è vostro compito organizzare. Ogni abitante i è in grado di donare una quantità D[i], ma non intende partecipare ad una raccolta fondi a cui partecipano uno o entrambi i propri vicini. Il vostro compito è il seguente: calcolare la quantità massima di fondi che può essere raccolta stampare gli indici delle case che dovranno donare Illustrare il funzionamento e discutere la complessità degli algoritmi proposti. Alberto Montresor (UniTN) 19 novembre / 13

3 Mosse su scacchiera Supponete di avere una scacchiera n n e un pedone che dovete muovere dall estremità inferiore a quella superiore. Un pedone si può muovere (1) una casella in alto, oppure (2) una casella in diagonale alto-destra, oppure (3) una casella in diagonale alto-sinistra. Non può tornare indietro. Quando una cella (x, y) viene visitata, guadagnate un valore reale p(x, y). Calcolare un percorso da una qualunque casella dell estremità inferiore ad una qualunque casella dell estremità superiore, massimizzando il profitto Alberto Montresor (UniTN) 19 novembre / 13

4 I Promessi Sposi "Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non interrotte di monti, tutto a seni e a golfi, a seconda dello sporgere e del rientrare di quelli, vien, quasi a un tratto, a ristringersi, e a prender corso e figura di fiume, tra un promontorio a destra, e un ampia costiera dall altra parte; e il ponte, che ivi congiunge le due rive, par che renda ancor più sensibile all occhio questa trasformazione, e segni il punto in cui il lago cessa, e l Adda rincomincia, per ripigliar poi nome di lago dove le rive, allontanandosi di nuovo, lascian l acqua distendersi e rallentarsi in nuovi golfi e in nuovi seni." Quante volte questo testo contiene la sottosequenza "lucia"? Alberto Montresor (UniTN) 19 novembre / 13

5 I Promessi Sposi "Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non interrotte di monti, tutto a seni e a golfi, a seconda dello sporgere e del rientrare di quelli, vien, quasi a un tratto, a ristringersi, e a prender corso e figura di fiume, tra un promontorio a destra, e un ampia costiera dall altra parte; e il ponte, che ivi congiunge le due rive, par che renda ancor più sensibile all occhio questa trasformazione, e segni il punto in cui il lago cessa, e l Adda rincomincia, per ripigliar poi nome di lago dove le rive, allontanandosi di nuovo, lascian l acqua distendersi e rallentarsi in nuovi golfi e in nuovi seni." Quante volte questo testo contiene la sottosequenza "lucia"? Alcune considerazioni: Due sottosequenze sono diverse (e quindi vanno contate separatamente) se esiste almeno una differenza negli insiemi di caratteri utilizzati. Esempio: "did you go" contiene due volte la sottosequenza "dog"... Alberto Montresor (UniTN) 19 novembre / 13

6 Spoiler alert! Alberto Montresor (UniTN) 19 novembre / 13

7 Ottimizza la somma i 0 w < 0 X[i, w] = 0 i = 0 w = 0 max{x[i 1, w], X[i, w V [i]] + V [i]} altrimenti Alberto Montresor (UniTN) 19 novembre / 13

8 Ottimizza la somma integer sum(integer[ ] V, integer i, integer w, integer[ ][ ] X) if w < 0 then return if i = 0 or w = 0 then return 0 if X[i, w] = then X[i, w] max{sum(x, i 1, w), sum(x, i, w V [i]) + V [i]} return X[i, w] Alberto Montresor (UniTN) 19 novembre / 13

9 Hateville 0 i = 0 M[i] = D[1] i = 1 max{m[i 1], M[i 2] + D[i]} i > 2 Alberto Montresor (UniTN) 19 novembre / 13

10 Hateville integer fundraising(integer[ ] D, integer n) integer[ ] M new integer[1... n] M[0] 0 M[1] D[1] for i 2 to n do M[i] max(d[i 1], D[i 2] + D[i]) integer i n while i > 2 do if M[i] = M[i 2] + D[i] then print i i i 2 else i i 1 % Calcola il vettore M % Stampa gli indici selezionati if i > 0 then print i return M[n] % Ritorna la quantità massima raccoglibile Alberto Montresor (UniTN) 19 novembre / 13

11 Mosse su scacchiera search-path(integer[ ][ ] p, integer n) { Calcola la tabella g } for x 1 to n do g[x, n] p[x, n] for y n 1 downto 1 do for x 1 to n do g[x, y] foreach d { 1, 0, +1} do integer x x + d if x >= 1 and x n then integer t g[x, y + 1] + p[x, y] if t > g[x, y] then g[x, y] t m[x, y] d Alberto Montresor (UniTN) 19 novembre / 13

12 I Promessi Sposi Input: Testo T [1... n], pattern P [1... m] Sia D[i, j] il numero di occorrenze del prefisso j-esimo del pattern P (j) come sottosequenza del prefisso i-esimo del testo T (i). 0 i = 0 j > 0 1 j = 0 D[i, j] = D[i 1, j] + D[i 1, j 1] i > 0 j > 0 T [i] = P [j] D[i 1, j] altrimenti Alberto Montresor (UniTN) 19 novembre / 13

13 I Promessi Sposi Utilizziamo un vettore D[0... m] invece che una matrice, in quanto il valore si ottiene a partire dalla sola riga precedente. lucia(item[ ] T, Item[ ] P, integer n, integer m) integer[ ] D new integer[0... n] integer[ ] D new integer[0... n] D[0] 1 for j 1 to m do D[j] 0 for i 1 to n do for j 0 to m do D [j] D[j] for j 1 to m do if T [i] = T [j] then D[j] D [j] + D [j 1] else D[j] D [j] return D[m] Alberto Montresor (UniTN) 19 novembre / 13

14 5 Maggio e Promessi Sposi Forwarded Message Subject: Sottosequenza Promessi sposi Date: Fri, 11 Dec :25: To: Alberto Montresor <alberto.montresor@unitn.it> Il 5 maggio nei promessi sposi senza considerare spazi, punteggiatura e numeri, ma considerando gli accenti ci sta: Allego lo script in python che ha generato il risultato (con testo completo dei promessi sposi e del 5 maggio). Ovviamente ha tempi assurdi per svariati motivi. Alberto Montresor (UniTN) 19 novembre / 13

Supersequenza comune minimale

Supersequenza comune minimale Supersequenza comune minimale Una stringa P è una supersequenza di una stringa T se T è una sottosequenza di P. Scrivere un algoritmo che restituisce la lunghezza della supersequenza comune minimale di

Dettagli

Informatica e Abilità Informatiche Multimediali Esercitazioni di Elaborazione testi

Informatica e Abilità Informatiche Multimediali Esercitazioni di Elaborazione testi Informatica e Abilità Informatiche Multimediali Esercitazioni di Elaborazione testi Mauro Mezzini Dipartimento di Scienze della Formazione Università Roma Tre Ottobre, 2014 Esercizio 1 Eseguire i seguenti

Dettagli

FOURVOICECOLORS METHOD

FOURVOICECOLORS METHOD CIRO IMPARATO FOURVOICECOLORS METHOD REACH YOUR GOALS LIVING IN TOTAL WELL BEING Gli altri sono il bene più prezioso che abbiamo. Avere un buon rapporto con gli altri è la base di una vita piena ed appagante.

Dettagli

Grafi Tutte le strade portano a Roma

Grafi Tutte le strade portano a Roma Grafi Tutte le strade portano a Roma Un vertice v in un grafo orientato G si dice di tipo Roma se ogni altro vertice w in G può raggiungere v con un cammino orientato che parte da w e arriva a v. 1 Descrivere

Dettagli

I testi. I testi. I testi: linea singola. I testi: multilinea. I testi: linea singola. Singola linea Multilinea. Nel mezzo del cammin di nostra vita

I testi. I testi. I testi: linea singola. I testi: multilinea. I testi: linea singola. Singola linea Multilinea. Nel mezzo del cammin di nostra vita I testi In moltissime situazioni è necessario includere testi all'interno delle animazioni. Quasi tutti i programmi dispongono di funzionalità per gestire l'inclusione di testi. I testi I testi possono

Dettagli

La leggibilità grafica. Novembre 2014 Flavio Fogarolo

La leggibilità grafica. Novembre 2014 Flavio Fogarolo La leggibilità grafica Novembre 2014 Flavio Fogarolo Questione di leggibilità Un testo correttamente impaginato viene letto da tutti più facilmente. Errori di formattazione (colori, dimensioni, font..)

Dettagli

Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non interrotte di monti, tutto a seni e a golfi, a seconda dello sporgere e del rientrare 05 di quelli, vien, quasi a un tratto, a ristringersi,

Dettagli

G è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti.

G è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti. Grafi Grafi bipartiti Un grafo non orientato G è bipartito se l insieme dei nodi può essere partizionato in due sottoinsiemi disgiunti tali che nessun arco del grafo connette due nodi appartenenti allo

Dettagli

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

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

Dettagli

Grafi Stessa distanza

Grafi Stessa distanza Grafi Stessa distanza In un grafo orientato G, dati due nodi s e v, si dice che: v è raggiungibile da s se esiste un cammino da s a v; la distanza di v da s è la lunghezza del più breve cammino da s a

Dettagli

Algoritmi e Strutture di Dati (3 a Ed.) String matching. Alan Bertossi, Alberto Montresor

Algoritmi e Strutture di Dati (3 a Ed.) String matching. Alan Bertossi, Alberto Montresor Algoritmi e Strutture di Dati (3 a Ed.) String matching Alan Bertossi, Alberto Montresor STRING MATCHING. Date una stringa P di m caratteri (pattern) e una stringa T di n caratteri, con m n, trovare un

Dettagli

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

Esercitazione 10 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 10 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu May 10, 2016 Elementi fondamentali Un algoritmo non deterministico è un algoritmo che posto di fronte alla necessità di

Dettagli

Sai mandare un segreto?

Sai mandare un segreto? Sai mandare un segreto? Liceo Scientifico N. Machiavelli Pioltello (MI) Insegnante di riferimento: Francesca Rosaci Ricercatrice: Giulia Bernardi Ragazzi partecipanti: Raffaele Amietta, Claudia Boninsegni,

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

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

Dettagli

Esercitazioni di Algoritmi e Strutture Dati

Esercitazioni di Algoritmi e Strutture Dati Esercitazioni di Algoritmi e Strutture Dati I esercitazione, 2/03/2016 Tong Liu 1 OBIETTIVI DEGLI ESERCITAZIONI Comprendere meglio i concetti fondamentali Presentare gli argomenti rilevanti Arrivare al

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

Il passo del gambero. Nel labirinto. Nel labirinto. La soluzione di problemi con la tecnica del Backtracking

Il passo del gambero. Nel labirinto. Nel labirinto. La soluzione di problemi con la tecnica del Backtracking Il passo del gambero La soluzione di problemi con la tecnica del Backtracking In ogni posizione provo sistematicamente tutte le strade, ricordando ogni volta l ultima scelta compiuta Ordine in cui tenteremo

Dettagli

Informatica Grafica 2003 Lezione 4:

Informatica Grafica 2003 Lezione 4: Informatica Grafica 2003 Lezione 4: Elementi grafici avanzati I testi In moltissime situazioni è necessario includere testi all'interno delle animazioni. Quasi tutti i programmi dispongono di funzionalità

Dettagli

ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI

ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI SECONDA PARTE 6. LA RIPETIZIONE while ISTRUZIONI A B K A, B, K 0 10 0 While A

Dettagli

Introduzione a Flash. Informatica Grafica per le arti. Macromedia Flash MX. Macromedia Flash MX. Macromedia Flash MX. Macromedia Flash MX

Introduzione a Flash. Informatica Grafica per le arti. Macromedia Flash MX. Macromedia Flash MX. Macromedia Flash MX. Macromedia Flash MX Informatica Grafica per le arti Introduzione a Flash Oltre alla grafica tridimensionale, esaminata fino ad ora, in questo corso ci occuperemo anche di grafica (vettoriale) bidimensionale interattiva. A

Dettagli

Appunti lezione Capitolo 13 Programmazione dinamica

Appunti lezione Capitolo 13 Programmazione dinamica Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi

Dettagli

Algoritmi e Strutture Dati. Backtracking

Algoritmi e Strutture Dati. Backtracking Algoritmi e Strutture Dati Backtracking Alberto Montresor Università di Trento 2018/11/07 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. q Sommario 1 Introduzione

Dettagli

Algoritmi e Strutture Dati. Backtracking

Algoritmi e Strutture Dati. Backtracking Algoritmi e Strutture Dati Backtracking Alberto Montresor Università di Trento 2016/12/08 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Sommario 1 Introduzione

Dettagli

Comunicare paesaggi. Infiniti paesaggi

Comunicare paesaggi. Infiniti paesaggi Comunicare paesaggi Istituto Superiore Piazza della Resistenza Cardano Monterotondo Istituto Superiore Angelo Frammartino Monterotondo Monterotondo, 27 gennaio 2015 Mario Bellinzona_a.d.a. onlus La comunicazione

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

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

NUOVI MODELLI DELLO SVILUPPO NEUROLOGICO E NUOVI STILI DI APPRENDIMENTO. di Maurizio Pincherle, Neuropsichiatra infantile AV3 ASUR

NUOVI MODELLI DELLO SVILUPPO NEUROLOGICO E NUOVI STILI DI APPRENDIMENTO. di Maurizio Pincherle, Neuropsichiatra infantile AV3 ASUR NUOVI MODELLI DELLO SVILUPPO NEUROLOGICO E NUOVI STILI DI APPRENDIMENTO di Maurizio Pincherle, Neuropsichiatra infantile AV3 ASUR DAL PASSATO AL FUTURO ATTRAVERSO IL PRESENTE Per secoli lo sviluppo cognitivo

Dettagli

laboratorio di python

laboratorio di python laboratorio di python esercizi vari, pratiche di debug e di tracing 29 Marzo 2019 1/18 Debug esercizio a cosa non va in questo codice? Scrivere una funzione che prende come parametro una tupla t e restituisce

Dettagli

Algoritmi e Strutture Dati. Programmazione dinamica Parte 1

Algoritmi e Strutture Dati. Programmazione dinamica Parte 1 Algoritmi e Strutture Dati Programmazione dinamica Parte 1 Alberto Montresor Università di Trento 2019/02/20 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Dettagli

Algoritmi e Strutture di Dati (3 a Ed.) Errata corrige. Alan Bertossi, Alberto Montresor

Algoritmi e Strutture di Dati (3 a Ed.) Errata corrige. Alan Bertossi, Alberto Montresor Algoritmi e Strutture di Dati (3 a Ed.) Errata corrige Alan Bertossi, Alberto Montresor Gli autori saranno riconoscenti a chiunque segnali errori presenti nel libro di testo, scrivendo ad alberto.montresor@unitn.it.

Dettagli

laboratorio di python

laboratorio di python laboratorio di python iterazione in python 22 Marzo 2019 1/31 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che restituisce True se una stringa passata come parametro è palindroma

Dettagli

File di testo in C. Accesso ai file Funzioni fopen/fclose Funzioni fget*/fput* Funzioni fprintf/fscanf Condizione feof

File di testo in C. Accesso ai file Funzioni fopen/fclose Funzioni fget*/fput* Funzioni fprintf/fscanf Condizione feof I/O Avanzato e File File di testo in C Accesso ai file Funzioni fopen/fclose Funzioni fget*/fput* Funzioni fprintf/fscanf Condizione feof 2 File di testo in C Accesso ai file (1/4) Un programma C può accedere

Dettagli

Esercizi Capitolo 12 - Divide-et-Impera

Esercizi Capitolo 12 - Divide-et-Impera Esercizi Capitolo 12 - Divide-et-Impera Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

Soluzioni della settima esercitazione di Algoritmi 1

Soluzioni della settima esercitazione di Algoritmi 1 Soluzioni della settima esercitazione di Algoritmi 1 Beniamino Accattoli 19 dicembre 2007 1 Grafi Un grafo è non orientato se descrivendo un arco come una coppia di vertici (i,j) l ordine è ininfluente

Dettagli

Algoritmi e Strutture Dati Esercizi Svolti. Giuseppe Persiano Dipartimento di Informatica ed Appl. Renato M. Capocelli Università di Salerno

Algoritmi e Strutture Dati Esercizi Svolti. Giuseppe Persiano Dipartimento di Informatica ed Appl. Renato M. Capocelli Università di Salerno Algoritmi e Strutture Dati Esercizi Svolti Giuseppe Persiano Dipartimento di Informatica ed Appl Renato M Capocelli Università di Salerno Indice Esercizio 12-3 5 Esercizio 23-4 6 Esercizio 63-3 7 Esercizio

Dettagli

Le unità di analisi. Analisi del testo letterario. Analisi del testo letterario 1 - Isabella Chiari 1

Le unità di analisi. Analisi del testo letterario. Analisi del testo letterario 1 - Isabella Chiari 1 Le unità di analisi Analisi del testo letterario Analisi del testo letterario 1 - Isabella Chiari 1 I livelli dell analisi linguistica Fonetica e fonologia Suoni e classi di suoni k, t, a, ts Sintassi

Dettagli

Il problema dello zaino

Il problema dello zaino Il problema dello zaino Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 25 gennaio 2010 Il problema dello zaino 0-1

Dettagli

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

Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:

Dettagli

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione. Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato

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

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

Algoritmi di Ricerca

Algoritmi di Ricerca Algoritmi e Strutture Dati Autunno 01 Algoritmi di Ricerca Dip. Informatica ed Appl. Prof. G. Persiano Università di Salerno 1 Ricerca esaustiva 1 2 Backtrack 3 2.1 Backtrack per enumerazione......................................

Dettagli

PROVETTE D ESAME. Algoritmi e Strutture Dati

PROVETTE D ESAME. Algoritmi e Strutture Dati PROVETTE D ESAME Algoritmi e Strutture Dati ESERCIZIO 1 Si ottengano limiti superiori e inferiori per la seguente ricorrenza ESERCIZIO 1 ESERCIZIO 2 Dato un albero binario T, il grado di sbilanciamento

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

L acqua di Lombardia. L acqua bene comune Milano, mercoledì 21 novembre 2018

L acqua di Lombardia. L acqua bene comune Milano, mercoledì 21 novembre 2018 L acqua bene comune Milano, mercoledì 21 novembre 2018 Sorgente Valmadrera (LC) L acqua di Lombardia Fiume Olona Silvia Anna Bellinzona Direttore Settore Monitoraggi Ambientali ARPA Lombardia Valeria Marchesi

Dettagli

Esercizi Capitolo 13 - Programmazione dinamica

Esercizi Capitolo 13 - Programmazione dinamica Esercizi Capitolo 13 - Programmazione dinamica Alberto Montresor 24 settembre 2010 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Esempio: somma di due numeri

Esempio: somma di due numeri Esempio: somma di due numeri Scrivere l algoritmo che esegue la somma di due numeri ESEMPIO: somma di due numeri

Dettagli

INCLUDERE IL DIGITALE, IL DIGITALE CHE INCLUDE

INCLUDERE IL DIGITALE, IL DIGITALE CHE INCLUDE Formazione Animatori Digitali 2016 INCLUDERE IL DIGITALE, IL DIGITALE CHE INCLUDE Rovigo 12 luglio 2016 Treviso 15 luglio 2016 Flavio Fogarolo flavio.fogarolo@tin.it Signora, se non porta a scuola un certificato

Dettagli

Appunti lezione Capitolo 14 Greedy

Appunti lezione Capitolo 14 Greedy Appunti lezione Capitolo 14 Greedy Alberto Montresor 21 Novembre, 2016 1 Domanda: dimostrare che S[i, j] = con i j Nel problema della selezione delle attività, il sottoinsieme S[i, j] è definito nel modo

Dettagli

Esercizi per il corso di Algoritmi

Esercizi per il corso di Algoritmi 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

Dettagli

ESERCIZI SULLA TECNICA Greedy

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

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di

Dettagli

ESERCIZIO 3 - Scuola Sec. Primo Gr. - SQ Gara 1-17/18 ESERCIZIO 8 - Scuola Sec. Primo grado SQ. Gara 1-16/17

ESERCIZIO 3 - Scuola Sec. Primo Gr. - SQ Gara 1-17/18 ESERCIZIO 8 - Scuola Sec. Primo grado SQ. Gara 1-16/17 ESERCIZIO 3 - Scuola Sec. Primo Gr. - SQ Gara 1-17/18 Si faccia riferimento alla GUID - OPS 2018, ELEMENTI DI PSEUDOLINGUGGIO. variables,, C, integer; 5; 17; input C; ++C; +++C; +++C; output,, ; Il valore

Dettagli

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND

ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND ESERCIZI SULLA TECNICA BACKTRACKING e BRANCH & BOUND 1. [ STRINGHE] Scrivere in pseudo-codice una procedura che, preso in input un intero n, stampi tutte le stringhe di lunghezza minore o uguale ad n sull

Dettagli

csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione

csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione CSP (Constraint Satisfaction Problem) o CSP = problemi di soddisfacimento di vincoli

Dettagli

Modelli della comprensione del testo

Modelli della comprensione del testo Modelli della comprensione del testo 1 Differenze tra stimolo e rappresentazione mentale: La ri-esposizione non è una copia Non riproduce le informazioni verbatim Non riproduce tutte le informazioni del

Dettagli

Calcolare lo Span di un array di numeri

Calcolare lo Span di un array di numeri Calcolare lo Span di un array di numeri Altro esempio di come usare una pila come struttura dati ausiliaria per un algoritmo: Dato un array X, lo span S[i] di X[i] è il massimo numero di elementi consecutivi

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

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

Laboratorio 26/09/2000

Laboratorio 26/09/2000 Laboratorio 26/09/2000 Note Il compilatore usato è il DJGPP, un compilatore C/C++ a 32 bit ANSI C. Documentato e supportato via Internet (www.delorie.com). Per compilare utilizzare un comando del tipo

Dettagli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di

Dettagli

Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni

Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni Informatica (CIV) Esercitazione su FORTRAN Andrea Romanoni andrea.romanoni@polimi.it Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 3 dicembre 2013 Esercizio istogrammi

Dettagli

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Lunedì abbiamo definito un algoritmo per calcolare il valore massimo fra gli elementi di una lista predefinita di interi. In particolare, abbiamo: deciso di rappresentare

Dettagli

Algoritmi di Ricerca

Algoritmi di Ricerca CAPITOLO 5 Algoritmi di Ricerca 1. Ricerca esaustiva Consideriamo problemi computazionali le cui soluzioni ammissibili sono descritte da vettori (x 1,, x n ) dove ciascun x i appartiene ad un insieme S

Dettagli

Laboratorio di Python

Laboratorio di Python 25 marzo 2015 Sommario 1 2 Esercizi a casa Scrivere un unico programma, che attraverso un menù di selezione restituisca i risultati delle funzioni che seguono, senza uscire dal programma se non selezionando

Dettagli

Esercizi Capitolo 7 - Hash

Esercizi Capitolo 7 - Hash Esercizi Capitolo 7 - Hash 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

Dettagli

Laboratorio Programmazione Anno Lezione 3

Laboratorio Programmazione Anno Lezione 3 Laboratorio Programmazione Anno 2012-2013 Lezione 3 Scripting Fino ad ora, per fare esercizi, abbiamo utilizzato l ambiente interattivo di python. È possibile creare dei file contenenti (lunghe) sequenze

Dettagli

Esercizi in Laboratorio

Esercizi in Laboratorio Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 3 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 16 Ottobre 2017 1 Formattazione delle

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

Il problema delle azioni

Il problema delle azioni Il problema delle azioni Per studiare l andamento del mercato azionario bisogna seguire i prezzi delle azioni in un lasso di tempo abbastanza lungo, diciamo n giorni. Se si dispone dei prezzi di un azione

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Esercizi di debug Lab07 27 Marzo 2018 Outline Correzione esercizi per oggi Debug Strategia Esercizi di debug Esercizi per casa Outline Correzione esercizi per oggi Debug Strategia

Dettagli

Algoritmo di ordinamento sul posto che ha tempo di esecuzione :

Algoritmo di ordinamento sul posto che ha tempo di esecuzione : 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

Laboratorio di Python

Laboratorio di Python Algoritmo, sulle liste Università di Bologna 3 e 5 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione Correzione esercizi scrivere e documentare un programma con un menu dove:

Dettagli

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto Argomenti della lezione Introduzione agli Algoritmi e alle Strutture Dati Operazioni su Liste Dr. Emanuela Merelli Tipi di Dato Astratto Lista Lineare Pila Coda Concetto di Struttura dati dinamiche Lista

Dettagli

Algoritmi e Strutture Dati. Scelta della struttura dati

Algoritmi e Strutture Dati. Scelta della struttura dati Algoritmi e Strutture Dati Scelta della struttura dati Alberto Montresor Università di Trento 2018/06/11 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08 Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

Dettagli

Esercizi

Esercizi Esercizi Si implementi una funzione che riceve in input una matrice NxM di float. Definito picco un numero circondato in tutte le posizioni intorno solo da numeri strettamente inferiori alla sua metà,

Dettagli

Problemi di ricerca in insiemi ordinati

Problemi di ricerca in insiemi ordinati Problemi di ricerca in insiemi ordinati Abbiamo visto che, per trovare un elemento in un insieme ordinato, con l algoritmo della ricerca binaria restringiamo l intervallo della ricerca alla metà in ogni

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 30 Gennaio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 30 Gennaio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 30 Gennaio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3

Dettagli

A1- Array MODULO Java3

A1- Array MODULO Java3 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Dichiarazione array Allocazione array Inizializzazione array Proprietà length Vettore Matrice Indice Componenti Indirizzo

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 Programmazione dinamica una tecnica di progettazione algoritmica molto potente Sommario La tecnica della programmazione

Dettagli

Algoritmi e Strutture Dati. Alberi

Algoritmi e Strutture Dati. Alberi Algoritmi e Strutture Dati Alberi Alberto Montresor Università di Trento 2017/10/19 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Sommario 1 Introduzione

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

Esercitazione 1 Conversione di base

Esercitazione 1 Conversione di base Esercitazione 1 Conversione di base A.A. 2017-18 Esercizio 1 (M) Scrivere un programma che esegua la conversione di un numero reale qualunque da base 10 a base β {2,..., 16}, utilizzando gli M-function

Dettagli

ESERCIZI SUGLI HEAP BINOMIALI (CAPITOLO 20) Catalano Pietro 56/100592

ESERCIZI SUGLI HEAP BINOMIALI (CAPITOLO 20) Catalano Pietro 56/100592 ESERCIZI SUGLI HEAP BINOMIALI (CAPITOLO 20) Catalano Pietro 5/100592 20.1-1 Supponiamo che x sia un nodo di un albero binomiale contenuto in uno heap binomiale e che sibling[x] NIL. Se x non è una radice

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento

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

Laboratorio 09. Programmazione - CdS Matematica. Ivano Lauriola 16 gennaio 2018

Laboratorio 09. Programmazione - CdS Matematica. Ivano Lauriola 16 gennaio 2018 Laboratorio 09 Programmazione - CdS Matematica Ivano Lauriola 16 gennaio 2018 Binary Search Tree Alberi binari di ricerca Gli alberi binari di ricerca (binary search trees, BST), detti anche alberi ordinati,

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 25 ottobre 2017 Da questo laboratorio, lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class NomeClasse { public static void main(

Dettagli

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE ESERCIZIO 1 PROBLEMA La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna di

Dettagli

Informatica Generale Homework di Recupero 2016

Informatica Generale Homework di Recupero 2016 Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola

Dettagli

Analisi del testo letterario 1

Analisi del testo letterario 1 Analisi del testo letterario 1 discipline Analisi del testo letterario 1 - Isabella Chiari 2 esempio 1 Promessi sposi (A. Manzoni) Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non

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

Tutorato Programmazione 1 Modulo 2

Tutorato Programmazione 1 Modulo 2 Tutorato Programmazione 1 Modulo 2 Matrici e Stringhe Do#. Michele Ciampi Esercizi svol5 con standard C99 Matrici Prendere in input una matrice NxN (controllare che N

Dettagli