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
Si consideri il seguente problema:
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:
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.
In aggiunta alle operazioni precedenti, si implementino in modo efficiente, descrivendone le scelte opportune e le complessità asintotiche, le seguenti due operazioni:
In aggiunta alle operazioni precedenti, si implementi la seguente operazione:
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.
Il progetto va consegnato va consegnato via mail al tutor e in cc al docente entro il 20 Dicembre.
Il codice deve essere ampiamente commentato, 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.
1. Introduzione al Corso - Il Linguaggio C (I parte)
2. Linguaggio C – Seconda Parte
3. Ordinamento, Ricorsione e Code di Priorità
4. Esercitazione su Ricorsione e Code di Priorità
5. Stack e Code
6. Esercitazione di Laboratorio su Stack e Code
7. Implementazioni di Liste puntate
8. Esercitazione di laboratorio su Liste Puntate Semplici
9. Implementazioni di Liste Doppiamente Puntate e Circolari
10. Esercitazione di laboratorio su Liste Doppiamente puntate
12. Esercitazione di laboratorio su Alberi Binari di Ricerca
13. Alberi Binari di Ricerca. Cancellazione di un nodo
14. Esercizio di Laboratorio. Gioco su alberi
15. Grafi: Implementazione ed operazioni di base
16. Esercitazione di laboratorio: Implementazione operazioni di bas...
17. Grafi: Inserimento e Cancellazione di un nodo. Visite in ampiez...
18. Esercitazione di laboratorio: Problema del venditore Prima part...
19. Componenti fortemente connesse e alberi minimi di copertura
20. Esercitazione di laboratorio: Problema del venditore Seconda pa...