E2A -- Informatica di Base


Contenuto

(12.) Files

12.1. Operazioni principali
12.2. Accesso non sequenziale

1. Funzioni ricorsive

1.1. Definizione generale
1.2. Primo esempio.
1.3. Ricorsivita` o iterazione
1.4. Gestione della memoria
1.5. Esempi piu` complessi

2. Problemi di calcolo

2.1. Calcoli con numeri interi
2.2. Calcoli con numeri reali

3. Abstract Data Types

3.1. Stack
3.2. FIFO queue
3.3. Priority queue
3.4. Realizzazione: buffer circolari
3.5. Realizzazione: heap

4. Sort e ricerca elementi

4.1. Efficienza degli algoritmi
4.2. Insertion sort
4.3. Selection sort
4.4. Quick sort
4.5. Heap sort
4.6. Ricerca in una lista

(13.) Gestione dinamica della memoria

13.1. Allocazione dinamica
13.2. Gestione di una lista dinamica

(*.) Debugging and Profiling

*.1. The gdb (xxgdb) debugger
*.2. Checker
*.3. strace
*.4. Profiling with gprof

5. Strutture di dati

5.1. Liste semplici
5.2. Liste a piu` direzioni
5.3. Alberi e alberi binari
5.4. Alberi binari ordinati
5.5. Tries
5.6. Tabelle Hash

6. Gestione della memoria

6.1. Allocazione
6.2. Disallocazione
6.3. Compattazione

7. Processi

7.1. Definizione di processo
7.2. Stati di un processo
7.3. Concetto di "programmazione multipla"
7.4. Concetto di "scheduling"
7.5. Algoritmi di scheduling

8. Processi concorrenti

8.1. Introduzione
8.2. Comunicazione con memoria in comune
8.3. Semafori
8.4. Problemi classici di sincronizzazione
8.5. Comunicazione con messaggi