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:
|
|
- Aldo Ruggeri
- 7 anni fa
- Visualizzazioni
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 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
DettagliInformatica 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
DettagliFOURVOICECOLORS 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.
DettagliGrafi 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
DettagliI 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
DettagliLa 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..)
DettagliQuel 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,
DettagliG è 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
DettagliEsercizi 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
DettagliGrafi 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
DettagliAlgoritmi 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
DettagliEsercitazione 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
DettagliSai 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,
DettagliEsercizi 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
DettagliEsercitazioni 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
DettagliGli 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).
DettagliIl 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
DettagliInformatica 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à
DettagliISTRUZIONI 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
DettagliIntroduzione 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
DettagliAppunti 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
DettagliAlgoritmi 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
DettagliAlgoritmi 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
DettagliComunicare 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
DettagliEsercizi 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,
DettagliIl 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
DettagliNUOVI 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
Dettaglilaboratorio 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
DettagliAlgoritmi 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.
DettagliAlgoritmi 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.
Dettaglilaboratorio 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
DettagliFile 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
DettagliEsercizi 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
DettagliSoluzioni 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
DettagliAlgoritmi 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
DettagliLe 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
DettagliIl 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
DettagliEsercitazione 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:
DettagliAlcuni 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
DettagliEsercizi 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
DettagliEsercizi 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,
DettagliAlgoritmi 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......................................
DettagliPROVETTE 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
DettagliIntroduzione 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
DettagliEsercizi 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
DettagliL 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
DettagliEsercizi 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
DettagliEsempio: somma di due numeri
Esempio: somma di due numeri Scrivere l algoritmo che esegue la somma di due numeri ESEMPIO: somma di due numeri
DettagliINCLUDERE 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
DettagliAppunti 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
DettagliEsercizi 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
DettagliESERCIZI 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
DettagliRappresentazione 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
DettagliUn 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
DettagliESERCIZIO 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
DettagliESERCIZI 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
Dettaglicsp & 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
DettagliModelli 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
DettagliCalcolare 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
DettagliEsercizio 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
Dettagli1. 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.
DettagliLaboratorio 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
DettagliEsercitazioni 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
DettagliInformatica (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
DettagliCalcolare 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
DettagliAlgoritmi 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
DettagliLaboratorio 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
DettagliEsercizi 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
DettagliLaboratorio 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
DettagliEsercizi 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
DettagliIn 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
DettagliIl 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
DettagliLaboratorio 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
DettagliAlgoritmo 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
DettagliLaboratorio 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:
DettagliArgomenti 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
DettagliAlgoritmi 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.
DettagliIntroduzione 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
DettagliCorso 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
DettagliEsercizi
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à,
DettagliProblemi 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
DettagliPolitecnico 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
DettagliA1- 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
DettagliAlgoritmi 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
DettagliAlgoritmi 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
DettagliSpesso 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:
DettagliEsercitazione 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
DettagliESERCIZI 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
DettagliAlgoritmi 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
DettagliESERCITAZIONI 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
DettagliLaboratorio 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,
DettagliLaboratorio 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(
DettagliGARA5 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
DettagliInformatica 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
DettagliAnalisi 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
DettagliEsercizi 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
DettagliTutorato 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