I materiali pubblicati sul sito costituiscono rielaborazioni personali del Publisher di informazioni apprese con la frequenza delle lezioni e lo studio autonomo di eventuali testi di riferimento in preparazione all’esame finale o della tesi. Non devono intendersi come materiale ufficiale dell’università attribuibile al docente del corso.
…continua

Filtra per

Tutte le tipologie

Ordina

Filtra

Appunti degli studenti per corsi ed esami del Prof. Santamaria Daniele Francesco

Appunti di Programmazione 2. Programmazione imperativa in C++. Array: inizializzazione di un array, array di caratteri e stringhe di testo, array multidimensionali, passaggio di array come parametri. Puntatori e riferimenti: riferimenti, puntatori, puntatori null, puntatore a puntatore, puntatori e array, array di puntatori, puntatori a stringhe, aritmetica dei puntatori, puntatori costanti e puntatori a costanti, puntatori come argomenti di funzioni, puntatori a funzioni, puntatori a strutture. Allocazione dinamica della memoria: gestione dinamica della memoria, l’operatore new, l’operatore delete, gestione dell’overflow di memoria, tipi di memoria in C++. Conversione di dati e operatori di conversione forzata di tipi. Programmazione Avanzata ad Oggetti Classi e oggetti: funzioni membro, metodi set, get, costruttori e distruttori, overloading e overriding di funzioni membro. Classi derivate: ereditarietà e polimorfismo: classi derivate, tipi di ereditarietà, ereditarietà multipla e composizione, binding dinamico, funzioni virtuali, polimorfismo. Sovraccaricamento degli operatori: sovraccaricamento degli operatori unari e binari, sovraccaricamento degli operatori +, -, di assegnamento, inserimento ed estrazione. Template: programmazione generica, template in C++, template di funzioni e classi. Complessità e Ordinamento. Cenni sulla complessità: notazioni asintotiche. Complessità di un problema computazionale, limite asintotici, alcuni semplici casi di esempio sul calcolo del limite asintotico. Algoritmi di ordinamento (ripasso): Algoritmi BubbleSort, SelectionSort, InsertionSort. Algoritmi di ordinamento che sfruttano il concetto di ricorsione: Merge Sort Quick Sort Strutture Dati Elementari e Implementazione in C++ Implementazione di strutture dati dinamiche sfruttando la OOP in C++ Liste: Implementazione di un insieme mediante liste, liste ordinate e liste non ordinate; operazioni con le liste: inserimento, cancellazione e ricerca. Pile e code: Implementazione di pile e code mediante OOP. Alberi: Gli alberi, struttura di un albero binario, alberi binari di ricerca ed operazioni base: inserimento, ricerca e cancellazione, visite preorder, postorder e inorder. Grafi: Definizione di grafo, grafi orientati e non orientati, inserimento di nodi e archi, rappresentazione con matrici di adiacenza e con liste di adiacenza. Visita in ampiezza e visita in profondità.
...continua