Algoritmi e strutture dati
|
|
|
- Leona Fantoni
- 10 anni fa
- Просмотров:
Транскрипт
1 Algoritmi e Strutture Dati Code con priorità Tipo di dato CodaPriorità (1/2) 2
2 Tipo di dato CodaPriorità (2/2) 3 Tre implementazioni d-heap: generalizzazione degli heap binari visti per l ordinamento heap binomiali heap di Fibonacci 4
3 d-heap 5 Definizione Un d-heap è un albero radicato d-ario con le seguenti proprietà: 1. Struttura: è completo almeno fino al penultimo livello 2. Contenuto informativo: ogni nodo v contiene un elemento elem(v) ed una chiave chiave(v) presa da un dominio totalmente ordinato 3. Ordinamento a heap: per ogni nodo v (diverso dalla radice) chiave(v) chiave(parent(v)) 6
4 Esempio Heap d-ario con 18 nodi e d = 3 7 Proprietà 1. Un d-heap con n nodi ha altezza O(log d n) 2. La radice contiene l elemento con chiave minima (per via della proprietà di ordinamento a heap) 3. Può essere rappresentato implicitamente tramite vettore posizionale grazie alla proprietà di struttura 8
5 Procedure ausiliarie Utili per ripristinare la proprietà di ordinamento a heap su un nodo v che non la soddisfi T(n) = O(log d n) T(n) = O(d log d n) 9 findmin T(n) = O(1) 10
6 insert(elem e, chiave k) T(n) = O(log d n) ( muovialto ) 11 delete(elem e) e deletemin T(n) = O(d log d n) ( muovibasso ) Può essere usata anche per implementare cancellazione del minimo 12
7 decreasekey(elem e, chiave d) T(n) = O(log d n) ( muovialto ) 13 increasekey(elem e, chiave d) T(n) = O(d log d n) ( muovibasso ) 14
8 Heap binomiali 15 Alberi binomiali Albero binomiale B h (definito ricorsivamente) : 1. B 0 consiste di un unico nodo 2. Per i 0, B i+1 ottenuto fondendo due alberi binomiali B i con radice di uno figlia della radice dell altro 16
9 Proprietà strutturali 17 Definizione di heap binomiale Un heap binomiale è una foresta di alberi binomiali con le seguenti proprietà: 1. Struttura: ogni albero B i nella foresta è un albero binomiale 2. Unicità: per ogni i, esiste al più un B i nella foresta 3. Contenuto informativo: ogni nodo v contiene un elemento elem(v) ed una chiave chiave(v) presa da un dominio totalmente ordinato 4. Ordinamento a heap: per ogni nodo v (diverso da una delle radici) chiave(v) chiave(parent(v)) 18
10 Proprietà In un heap binomiale con n nodi, vi sono al più log 2 n alberi binomiali, ciascuno con grado ed altezza O(log n) 19 Procedura ausiliaria Utile per ripristinare la proprietà di unicità in un heap binomiale T(n) è proporzionale al numero di alberi binomiali in input 20
11 Realizzazione (1/3) 21 Realizzazione (2/3) 22
12 Realizzazione (3/3) Tutte le operazioni richiedono tempo T(n) = O(log n) Durante l esecuzione della procedura ristruttura esistono infatti al più tre B i, per ogni i 0 23 Analisi Ammortizzata 24
13 Metodologie di analisi di algoritmi Finora abbiamo visto tre tipi di analisi: Analisi nel caso peggiore Analisi nel caso medio Analisi nel caso atteso (algoritmi randomizzati) Ne vedremo un altro: Analisi ammortizzata 25 Analisi ammortizzata Strutture dati con garanzia assoluta sui loro tempi di esecuzione: analisi di caso peggiore per operazione (esempio: analisi di heap in heapsort) Analisi ammortizzata: non ci interessa tanto caratterizzare tempo richiesto nel caso peggiore da un operazione sulla struttura dati quanto caratterizzare tempo totale richiesto dalle operazioni sulla struttura dati ovvero tempo medio di un operazione, dove la media è sulla sequenza di operazioni 26
14 Analisi ammortizzata Supponiamo di avere una sequenza di σ operazioni su una particolare struttura dati La sequenza richiede tempo totale O(σ t) per essere eseguita Diremo che il tempo ammortizzato per ogni operazione della sequenza è O(t) Media sulla sequenza: O(σ t) / σ = O(t) Nota: una singola operazione potrebbe richiedere più di O(t) nel caso peggiore! 27 Analisi ammortizzata Sequenza di σ operazioni richiede tempo O(σ t) Tempo ammortizzato: O(σ t) / σ = O(t) OK per molte applicazioni Abbiamo bisogno di utilizzare strutture dati su sequenze di operazioni Analizzare prestazioni su sequenze di prestazioni 28
15 Esempio 1 Pila con le seguenti due operazioni push(x): push elemento x sulla pila multipop(k): esegui k pop sulla pila (se la pila ha almeno k elementi) Analisi nel caso peggiore: push(x): O(1) multipop(k): O( min{ k, P } ) = O(n) dove P è la dimensione della pila 29 Esempio 1 Analisi nel caso peggiore: push(x): O(1) multipop(k): O( min { k, P } ) = O(n) dove P è la dimensione della pila Quanto tempo richiederà una sequenza di σ operazioni? O(σ n)? No! 30
16 Analisi ammortizzata dell Esempio 1 Intuizione: Prima di togliere un elemento x con una multipop dobbiamo averlo inserito con una push(x) Ogni sequenza di σ push e multipop richiede in totale tempo O(σ ) Tempo ammortizzato per operazione: O(σ ) / σ = Ο(1) Vedremo un analisi più formale di questo 31 Metodologie di analisi ammortizzata Tre tipologie di analisi diverse: Metodo cumulativo: Sequenza di σ operazioni richiede tempo O(σ t) Tempo ammortizzato: O(σ t) / σ = O(t) Metodo del banchiere: Per eseguire un passo dobbiamo pagare 1 EUR Allocare EUR in modo da pagare per tutti i passi Metodo del potenziale: Analogia con analisi potenziale (Fisica) 32
17 Metodo del Banchiere per Esempio 1 Quando esegui push(x) sborsa 2 EUR: 1 EUR per pagare lavoro richiesto da push(x) 1 EUR conservato nell elemento x Quando esegui multipop(k) sborsa 0 EUR: lavoro richiesto da multipop(k) pagato dagli EUR conservati negli elementi! 1. Per ogni operazione sborsi al più O(1) EUR 2. Tutti gli EUR sborsati sufficienti a pagare per lavoro richiesto dalle operazioni 33 Metodo del Potenziale Definisci potenziale Φ per struttura dati D Φ(D) misura potenzialità di D ad eseguire lavoro (configurazione attuale) Durante operazione i-esima, struttura dati passa da configurazione D i a configurazione D i+1 Passa da potenziale Φ(D i ) a potenziale Φ(D i+1 ) Tenere in conto variazione di potenziale Δ Φ = Φ(D i+1 ) - Φ(D i ) Operazione può essere molto costosa ma mette struttura dati in grado di eseguire più efficientemente operazioni future (costo operazione compensato da Δ Φ ) 34
18 Metodo del Potenziale Tipicamente potenziale Φ soddisfa le: Φ(D 0 ) = 0 e Φ(D i ) 0 per ogni i Definiamo tempo ammortizzato a i dell operazione i- esima: a i = t i + Φ(D i+1 ) - Φ(D i ) dove t i è il tempo (attuale) operazione i-esima Sommando su sequenza di operazioni Σ i a i = Σ i t i + Σ i ( Φ(D i+1 ) - Φ(D i ) ) Σ i a i = Σ i t i + ( Φ(D n ) - Φ(D 0 ) ) Σ i a i Σ i t i 35 Metodo del Potenziale per Esempio 1 Definiamo potenziale Φ della pila P: Nota che: Φ(P) = P Φ(P 0 ) = 0 e Φ(P i ) 0 per ogni i Tempo ammortizzato a i di operazione i-esima: a i = t i + Φ(D i+1 ) - Φ(D i ) Costo ammortizzato di push(x) : a i = t i + Φ(D i+1 ) - Φ(D i ) = = 2 Costo ammortizzato di multipop(k) : a i = t i + Φ(D i+1 ) - Φ(D i ) = k + ( -k) = 0 36
19 Heap di Fibonacci 37 Heap di Fibonacci Heap binomiale rilassato: si ottiene da un heap binomiale rilassando la proprietà di unicità dei B i ed utilizzando un atteggimento più pigro durante l operazione insert (perché ristrutturare subito la foresta quando potremmo farlo dopo?) Heap di Fibonacci: si ottiene da un heap binomiale rilassato rilassando la proprietà di struttura dei B i che non sono più necessariamente alberi binomiali Analisi sofisticata: i tempi di esecuzione sono ammortizzati su sequenze di operazioni 38
20 Conclusioni: tabella riassuntiva L analisi di DHeap e HeapBinomiale è nel caso peggiore, mentre quella per HeapBinomialeRilassato e HeapFibonacci è ammortizzata 39
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 8 Code con priorità: Heap binomiali Riepilogo Array non ord. Array ordinato Lista non ordinata Lista ordinata Find Min Insert Delete DelMin Incr. Key Decr. Key merge
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Soluzione esercizi di approfondimento Stefano Leucci [email protected] Una terza variante dell IS InsertionSort3 (A) 1. for k=1 to n-1 do 2. x = A[k+1] 3. j = ricerca_binaria(a[1,k],x)
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
Complessità Computazionale
Complessità Computazionale Analisi Algoritmi e pseudocodice Cosa significa analizzare un algoritmo Modello di calcolo Analisi del caso peggiore e del caso medio Esempio di algoritmo in pseudocodice INSERTION
Fasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
Esercizi per il corso di Algoritmi e Strutture Dati
1 Esercizi per il corso di Algoritmi e Strutture Dati 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 algoritmi
Algoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali
Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,
16.3.1 Alberi binari di ricerca
442 CAPITOLO 16. STRUTTURE DI DATI DINAMICHE root 7 5 11 2 8 13 10 Figura 16.11 Esempio di albero binario: ogni nodo contiene il dato da immagazzinare e tre puntatori che definiscono le sue relazioni di
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito
Progettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015
Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Chi deve recuperare il progetto del modulo 1 ha 1 ora e 30 minuti per svolgere gli esercizi 1, 2, 3 Chi deve recuperare
B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:
B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS
1. PRIME PROPRIETÀ 2
RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,
Alberi auto-aggiustanti
Alberi auto-aggiustanti Dispensa didattica per il corso di Algoritmi e Strutture Dati a.a. 2007/2008 ver. 1.3 Ing. Claudio Mazzariello, Prof. Carlo Sansone 27 Maggio 2008 A differenza di altre possibili
Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
Esercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
CALCOLO COMBINATORIO
CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,
Corso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità
Problema del trasporto
p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
Plate Locator Riconoscimento Automatico di Targhe
Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa
Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati
Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè
Il sistema monetario
Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti
Introduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
Come ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia
Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
Operazioni binarie fondamentali
Operazioni binarie fondamentali Operazioni fondamentali: operazioni elementari sui bit. Sono definite le operazioni aritmetiche più le operazioni logiche (AND, OR, NOT). Le operazioni possono essere descritte
Algoritmi di clustering
Algoritmi di clustering Dato un insieme di dati sperimentali, vogliamo dividerli in clusters in modo che: I dati all interno di ciascun cluster siano simili tra loro Ciascun dato appartenga a uno e un
CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata
Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura
Ricorsione. Rosario Culmone. - p. 1/13
Ricorsione Rosario Culmone - p. 1/13 Induzione e Ricorsione Spesso utilizzeremo le definizioni induttive. Sono forme di definizione compatte che descrivono un numero infinito di elementi. I contesti di
Comparatori. Comparatori di uguaglianza
Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",
risulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
Programmazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort
Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio
Progettazione Fisica FILE
Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header
Mac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
Codifica dei numeri negativi
E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione
Analisi e diagramma di Pareto
Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo
Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico
M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.
Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >
Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego
Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
HORIZON SQL PREVENTIVO
1/7 HORIZON SQL PREVENTIVO Preventivo... 1 Modalità di composizione del testo... 4 Dettaglia ogni singola prestazione... 4 Dettaglia ogni singola prestazione raggruppando gli allegati... 4 Raggruppa per
Una percentuale di una certa importanza nel mondo economico è il tasso di interesse. Il tasso di
Capitalizzazione e attualizzazione finanziaria Una percentuale di una certa importanza nel mondo economico è il tasso di interesse. Il tasso di interesse rappresenta quella quota di una certa somma presa
Blanchard, Macroeconomia Una prospettiva europea, Il Mulino 2011 Capitolo IV. I mercati finanziari. Capitolo IV. I mercati finanziari
Capitolo IV. I mercati finanziari 1. La domanda di moneta La moneta può essere usata per transazioni, ma non paga interessi. In realtà ci sono due tipi di moneta: il circolante, la moneta metallica e cartacea,
DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
Sia data la rete di fig. 1 costituita da tre resistori,,, e da due generatori indipendenti ideali di corrente ed. Fig. 1
Analisi delle reti 1. Analisi nodale (metodo dei potenziali dei nodi) 1.1 Analisi nodale in assenza di generatori di tensione L'analisi nodale, detta altresì metodo dei potenziali ai nodi, è un procedimento
Processi e Thread. Scheduling (Schedulazione)
Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L
Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
Economia e politica di gestione del territorio. [1:cap.4]
Economia e politica di gestione del territorio Corso di Laurea in Scienze e Tecnologie Agrarie (L.M.) A.A. 2013-2014 Lezione n.5: Efficienza ed Equità [1:cap.4] Docente: Antonio Lopolito tel. 0881-589.417
Corso di Programmazione Concorrente
Corso di Programmazione Concorrente Stallo Valter Crescenzi [email protected] http://www.dia.uniroma3.it/~crescenz Assunzione di Progresso Finito Tutti i processori virtuali hanno una velocità finita
I tipi di dato astratti
I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato
Corso di Calcolo Numerico
Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La
Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
Le Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
Calcolatori: Algebra Booleana e Reti Logiche
Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato
L orizzonte temporale nei prospetti semplificati dei fondi aperti. Nota di studio. Ufficio Studi
L orizzonte temporale nei prospetti semplificati dei fondi aperti Nota di studio Ufficio Studi Gennaio 2012 1 1] Premessa Nel corso del 2010 uno degli obiettivi del Gruppo di Lavoro Rischio e Classificazione
SCHEDULATORI DI PROCESSO
Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI
MODELLISTICA DI IMPIANTI E SISTEMI 2
MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi
Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8
Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare
4.1 Modelli di calcolo analisi asintotica e ricorrenze
4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più
Eletec S.n.c Via G. Agnelli, 12/14 25086 Rezzato (BS) www.eletec.com
Mercati altrimenti impossibili La flessibilità e la convenienza di LOGO! hanno consentito ad Eletec di affrontare con successo mercati altrimenti restii ad accettare soluzioni di automazione avanzate La
4. Operazioni elementari per righe e colonne
4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:
Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.
Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
Teoria dei Giochi. Anna Torre
Teoria dei Giochi Anna Torre Almo Collegio Borromeo 26 marzo 2015 email: [email protected] sito web del corso:www-dimat.unipv.it/atorre/borromeo2015.html COOPERAZIONE Esempio: strategie correlate e problema
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per
Introduzione all Information Retrieval
Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information
Il tipo di dato astratto Pila
Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:
Guida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
Calcolo del Valore Attuale Netto (VAN)
Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di
Basi di Dati Multimediali. Fabio Strocco
Basi di Dati Multimediali Fabio Strocco September 19, 2011 1 Contents 2 Introduzione Le basi di dati (o database) hanno applicazioni in molti campi, in cui è necessario memorizzare, analizzare e gestire
3 GRAFICI DI FUNZIONI
3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom
Struttura di un programma Java
Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che
Come utilizzare il sistema per ricavare e scaricare un elenco iscritti per la propria gara
Come utilizzare il sistema per ricavare e scaricare un elenco iscritti per la propria gara Le società organizzatrici attraverso le utilità fornite dal sistema di gestione gare hanno la possibilità di ricavare
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE
APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE 1. Proporzionalità diretta e proporzionalità inversa Analizziamo le seguenti formule Peso Lordo = Peso Netto + Tara Ricavo = Utile + Costo Rata = Importo + Interesse
ISC. L indicatore sintetico di costo del conto corrente
ISC L indicatore sintetico di costo del conto corrente Indice Cos è l ISC, l Indicatore Sintetico di Costo del conto corrente I 7 profili tipo di utilizzo Ma in definitiva, perché controllare l ISC? Dove
Scopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
Liberare la memoria allocata dinamicamente.
Scrivere un programma per la gestione dei libri e dei prestiti di una biblioteca universitaria. I libri sono caratterizzati dalle seguenti informazioni: titolo, autore, collocazione del libro, numero di
Sistemi Informativi Territoriali. Map Algebra
Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori
Metodi Stocastici per la Finanza
Metodi Stocastici per la Finanza Tiziano Vargiolu [email protected] 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione
Parte 2. Determinante e matrice inversa
Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice
Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
Corso di Informatica
Corso di Informatica Modulo T Scorrimento-Rotazione-Ricerca Prerequisiti Programmazione elementare Conoscenza ed uso di vettori Introduzione Lo scopo di questa Unità è approfondire il concetto di vettore
