Laboratorio di Informatica 1 (Programmazione)ESERCIZI
Esercizio 1
Simulazione di una coda con due pile. (Inizialmente ho pila1 e pila2 vuote. L’operazione Enqueue corrisponde ad un operazione push su pila1. Per l’operazione dequeue si presentano 2 casi: se pila2 e non vuota, allora corrisponde a pop sulla pila2 ; se pila2 e’ vuota “la riempo” con tutti gli elementi di pila1 (pop su pila1 e push su pila2, finche’ pila1 e’ vuota ) e poi applico pop su pila2
Soluzione a cura di F.Doddi. (usa doddi_pila.c)
Soluzione a cura di S.RuffiniEsercizio 2
Integrare il programma tree.c con le seguenti funzioni:Soluzione a cura di F.Doddi. (usa doddi_coda.c)
- Funzione count che conta il numero di nodi in un albero binario.
- Funzione depth che determina il numero di livelli di un albero binario.
- Funzione search che ricerca un dato valore all’interno di un albero binario di ricerca. La funzione dovra’ restituire il puntatore a quel valore o null nel caso che tale valore non sia presente nella lista.
- Funzione BF_visit che visita l’albero in ampiezza (per livelli). La funzione fa uso di una coda. Cosa succede se sostituisco la coda con una pila? (
- DIFFICILE)Funzione delete che cancella un dato valore dall’albero. (vedi esercizio 12.22 sul libro di testo)
- Funzione delete_max che cancella il massimo valore dall’albero. Funzione delete_min che cancella il minimo valore dall’albero.