Laboratorio di Algoritmi e Strutture Dati



Documenti analoghi
MODULO GADWEB B2B Implementazioni Dicembre 2011_1

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

Registratori di Cassa

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Servizio di Posta elettronica Certificata (PEC)

Sistema GEFO. Guida all utilizzo Presentazione delle domande

Servizio di Posta elettronica Certificata (PEC)

Mon Ami 3000 Lotti e matricole Gestione della tracciabilità tramite lotti/matricole

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Servizio di Posta elettronica Certificata (PEC)

Servizio di Posta elettronica Certificata (PEC)

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

VPN CIRCUITI VIRTUALI

La Metodologia adottata nel Corso

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Nuovo Order Manager per il software NobelProcera

Servizio di Posta elettronica Certificata (PEC)

Laboratorio di Algoritmi e Strutture Dati

MODALITA DI REGISTRAZIONE

SistemiInformatividiRete

MANUALE PARCELLA FACILE PLUS INDICE

Product Shipping Cost Guida d'installazione ed Utilizzo

Configurazione di Outlook Express

1. DISTRIBUZIONE Datore di Lavoro Direzione RSPP Responsabile Ufficio Tecnico Responsabile Ufficio Ragioneria (Ufficio Personale) Ufficio Segreteria

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

MANUALE ESSE3 Gestione Registro delle lezioni

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Volumi di riferimento

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it

Gestione negozi di telefonia

AZZERAMENTO PROGRESSIVI (solo per installazioni di oltre 10 anni)

FORYOU Passione per la comunicazione. Direct Marketing Concorsi via Sms

Guida alla registrazione on-line di un DataLogger

Fatturazione elettronica con WebCare

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1

IL SOFTWARE DEL MARMISTA

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Dipartimento per le Libertà Civili e l Immigrazione

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

SISTEMA CONTROLLO ACCESSO PARCHI AVVENTURA JUNGLE TRACK

Elenchi Intrastat. Indice degli argomenti. Premessa. Operazioni preliminari. Inserimento manuale dei movimenti e presentazione

Gestione dei documenti e delle registrazioni Rev. 00 del

Progettaz. e sviluppo Data Base

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015

Gestione Automatizzata di una Lista Nozze

Versione 2015I PROTOCOLLO: CRS/SG-PAC/151021

H1 Hrms Gestione eventi/scadenze automatiche

SpeedUp for Dynamics. La piattaforma modulare per la gestione del credito (modulo Collect)

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

1) GESTIONE DELLE POSTAZIONI REMOTE

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Università per Stranieri di Siena

GUIDA ALL'UTILIZZO DELL'APP NATIVA PER TABLET ANDROID E APPLE

CitySoftware PROTOCOLLO. Info-Mark srl

GUIDA AL SOCIAL CARE

OGGETTO: Trasferimenti immobiliari. Nuove modalità di versamento del prezzo di vendita

MANUALE ISCRIZIONE E DOMANDA ON-LINE

OPERAZIONI DI INIZIO ANNO ADHOC REVOLUTION

Sistemi Informativi I Caso di studio con applicazione di UML

HORIZON SQL FATTURAZIONE

I PRINCIPALI DIRITTI DEL CLIENTE

risulta (x) = 1 se x < 0.

RISOLUZIONE n. 267/E. Roma, 27 settembre 2007

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Ata_NiAg02. Modulo Gestione Agenti

«Gestione dei documenti e delle registrazioni» 1 SCOPO CAMPO DI APPLICAZIONE E GENERALITA RESPONSABILITA DEFINIZIONI...

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

GUIDA ALL USO DEL PORTALE DI PRENOTAZIONE LIBRI ON LINE

MADE in BIT srl Via corelli n 85 FIRENZE, Sede operativa Via Gattinella n 2 Campi Bisenzio ( FI ) Tel.: Fax :

Software Servizi Web UOGA

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Sistema per il monitoraggio della Spesa Sanitaria

Guida dell utente. Centro di fatturazione UPS

Informativa sulla privacy

Residente in via/piazza n. Città Provincia DELEGO. Preventivo/fattura intestato a: C.F. Part. IVA tel: Indirizzo di spedizione:

SOLUZIONE Web.Orders online

Servizio online «Distinta d impostazione Lettere» Istruzioni

Manuale d uso [del 07/08/2015] Gestione progetti e ore lavoro Web Ver per [05/01/2015]

LA FORMAZIONE PROFESSIONALE

Dipartimento per le Libertà Civili e l Immigrazione

Sistema per il monitoraggio della Spesa Sanitaria

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

File, Modifica, Visualizza, Strumenti, Messaggio

GAS.DV/WIN Front Office

Registro Imprese LA COMUNICAZIONE UNICA E L ATTIVITA

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

1. Devo essere connesso ad Internet per utilizzare il Servizio di tuotempo?

GUIDA ALL'UTILIZZO DELL'APP NATIVA PER TABLET ANDROID E APPLE

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A

SISTEMI DI NUMERAZIONE E CODICI

flusso delle informazioni... 2 password... 3 password/ inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

PORTALE FORMAZIONE CONTINUA, GUIDA UTENTE

Sistema di gestione della Responsabilità Sociale

Transcript:

Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Esercitazione di laboratorio: Problema del venditore Terza parte 2 1

Esercizio del venditore Di seguito viene riepilogato l esercizio completo del venditore introdotto nelle due precedenti lezioni con l aggiunta di eventuali note e di due funzioni aggiuntive da implementare 3 Esercizio (prima parte) 1/2 Si consideri il seguente problema: Un venditore ha n clienti sparsi in n diverse città. Per ognuna di queste città, il venditore conosce esattamente se e in che modo tale città è collegata alle altre (collegamento mono o bidirezionale) e, per ogni collegamento, la sua lunghezza. Per semplicità, assumiamo che se due città hanno un collegamento in entrambe le direzioni, la lunghezza dei due collegamenti sia la stessa. Si supponga inoltre che il venditore conosca il fatturato per ogni singola città (compreso quello della sua città che è inclusa in n) e il tempo necessario da trascorrere in ogni città per ottenere il corrispondente fatturato. 4 2

Esercizio (prima parte) 2/2 Si implementino in linguaggio C le seguenti operazioni utilizzando come struttura dati di appoggio un grafo, scegliendo opportunamente una rappresentazione con liste di adiacenza o con matrice di adiacenza: 1. Creazione della struttura dati grafo contenente tutte le città con le relative informazioni. 2. Aggiunta di un collegamento. 3. Rimozione/modifica-lunghezza di un collegamento. 4. Aggiunta di una città 5. Cancellazione/modifica-dati di una città 6. Stampa di una visita completa di tutte le città La scelta del tipo di grafo e della sua rappresentazione deve essere guidata da una implementazione in linguaggio C efficiente delle operazioni sopra richieste e di quelle richieste nelle pagine successive. Tutte le scelte devono essere debitamente motivate. 5 Esercizio (seconda parte) 1/2 In aggiunta alle operazioni precedenti, si implementino in modo efficiente, descrivendone le scelte opportune e le complessità asintotiche, le seguenti due operazioni: Il venditore vuole vendere una connessione ad internet via cavo ai suoi clienti. Implementare in linguaggio C una funzione efficiente che permetta di definire la lunghezza minima di cavo necessaria per collegare tutte le città, partendo dalla città del venditore e sfruttando soltanto i collegamenti esistenti tra le città (senza tener necessariamente conto delle loro direzioni). Si supponga inoltre che una volta completato il lavoro precedente, il venditore voglia visitare tutte le città per riscuotere il pagamento del servizio fornito. Si implementi dunque una funzione efficiente in linguaggio C che permetta di visitare (non necessariamente in modo ottimale) tutte le città, rispettando i collegamenti e le direzioni esistenti tra le varie città. Tale funzione deve indicare l ordine di visita, la distanza totale percorsa, la somma riscossa e le eventuali città che non sono raggiungibili. 6 3

Esercizio (seconda parte) 2/2 Le funzioni precedenti devono gestire anche la possibilità di modifica del numero di città e di collegamenti. In pratica, se un collegamento tra due città salta, bisogna ristabilire il collegamento internet tra tutte le città utilizzando la parte di rete rimanente. Nella realtà, la perdita di una città cliente può essere relativa ad una perdita del cliente o ad una perdita della città come territorio (ad esempio, vendita del cliente, dei cavi e dei relativi collegamenti). Il primo caso è riconducibile ad una cancellazione logica della città (quindi scompare l entità cliente, ma città, collegamenti e cavi restano attivi). Il secondo caso invece è riconducibile ad una cancellazione fisica definitiva della città con i relativi collegamenti. 7 Esercizio (parte aggiuntiva) In aggiunta alle operazioni precedenti, si implementi la seguente operazione: Un tecnico si trova presso un cliente in una data città. Supponiamo, che è richiesto un suo intervento presso un altro cliente in un altra città. Implementare in linguaggio C una funzione efficiente che permetta al tecnico di trovare il percorso più corto tra la città di partenza e quella di arrivo. 8 4

Facoltativo (parte aggiuntiva) Si ricordi che per ogni città cliente il venditore conosce una serie di informazioni come fatturato realizzabile e tempo necessario per ottenerlo. In aggiunta alle operazioni richieste in precedenza, si implementi in linguaggio C una funzione che permetta di aumentare il numero di tali informazioni. In pratica, la struttura dati deve permettere di aggiungere per ogni cliente di nuove informazioni il cui tipo deve essere definito dall esterno come ad esempio numero dipendenti, aziende collegate, ecc. 9 Consegna Il progetto va consegnato sia in formato cartaceo (durante le lezioni, alla prova intercorso (06 Giugno) o nell orario di ricevimento) che elettronico secondo le seguenti modalità: Il codice deve essere necessariamente mandato via e-mail e deve essere compilabile e perfettamente funzionate. Unitamente al codice deve essere consegnata una relazione che giustifichi le scelte effettuate e la complessità asintotica delle funzioni implementate. Possibilmente, indicare anche graficamente la struttura dati implementata e includere esempi relativamente alle scelte implementative più significative. La relazione, che assolutamente non deve superare le 20 pagine, deve essere necessariamente consegnata in formato cartaceo. Codice e relativa documentazione devono essere consegnate entro e non oltre il 09 giugno. 10 5