• Non ci sono risultati.

2 Luglio 2005Laurea in InformaticaUniversità degli Studi di Napoli “Federico II”

N/A
N/A
Protected

Academic year: 2021

Condividi "2 Luglio 2005Laurea in InformaticaUniversità degli Studi di Napoli “Federico II”"

Copied!
1
0
0

Testo completo

(1)

Laboratorio di Algoritmi e Strutture Dati - Moduli A e B Docente: A. Murano

2 Luglio 2005

Laurea in Informatica Università degli Studi di Napoli “Federico II”

Nome e Cognome Numero di Matricola:

Spazio riservato alla correzione

1 2 3 4 Totale

/6 /8 /8 /8 /30

Non utilizzate altri fogli. Utilizzate soltanto lo spazio sottostante. Fogli differenti non saranno presi in considerazione per la correzione. Non scrivere a matita

1.

Dati due alberi binari di ricerca T1 e T2 entrambi implementati con la seguente struttura a puntatori:

struct nodo {

int inforadice;

struct nodo *left;

struct nodo *right;}

struct nodo *T1, *T2;

a)

implementare una funzione in linguaggio C che presi in input i due alberi T1 e T2 controlli che essi siano uguali. Descrivere la complessità asintotica della funzione implementata.

b)

Tra le visite studiate a lezioni per alberi binari di ricerca, indicare con una prova o con

un contro-esempio se (e quali) permettono di generare una sequenza non decrescente di

valori, se applicate ad Alberi binari di ricerca.

(2)

2.

Si consideri uno Stack S, implementato con array S[MAX]. Si implementi la funzione void

Ordina_Stack(int S[MAX]) che ordina in modo non decrescente gli elementi nello stack

S. La funzione può utilizzare soltanto un numero costante di stack, come strutture dati

ausiliarie. Si ricorda che lo stack è una struttura dati che permette l’accesso ai suoi dati

solo dal top. Accessi diretti in posizioni diverse sono considerati errati. Implementare in

linguaggio C le funzioni fondamentali di accesso agli stack e descrivere la complessità

asintotica della funzione Ordina_Stack(int S[MAX]) implementata.

(3)

3. Sia G un grafo orientato pesato di n vertici 0,1,…, n-1 rappresentato con liste di adiacenza utilizzando la seguente struttura:

typedef struct graph {

int nv;

edge **adj; } graph;

graph *G, *H;

typedef struct edge { int key;

int peso;

struct edge *next; } edge;

scrivere in linguaggio C una funzione che calcoli se il grafo ha almeno due vertici che

hanno lo stesso insieme di nodi incidenti. Descrivere la complessità asintotica della

funzione implementata.

(4)

4. Sia G un grafo orientato pesato di n vertici 0,1,…, n-1 rappresentato con liste di adiacenza

utilizzando la struttura graph definita nell’esercizio precedente, scrivere in linguaggio C

una funzione che preso in input il grafo G, cancella l’arco con peso minimo (se ci sono più

archi con peso minimo, se ne cancelli solo uno). Descrivere la complessità asintotica della

funzione implementata.

Riferimenti

Documenti correlati

Il pericolo di inquinamento delle acque superficiali da reflui zootecnici è legato soprattutto ai fenomeni di dilavamento ed erosione del suolo, con trascinamento nei corpi idrici di

Il metodo della solid dilution ci consente di ottenere, nella quantificazione delle sostanze fenoliche in matrici solide e semi-solide, risultati molto più

The study included batch tests, column tests and field tests aimed at investigating the potentiality of the treatment for NTO, NQ, DNAN and RDX removal, mainly focalized

Obiettivo del presente lavoro di tesi risulta essere l’individuazione di un sistema di trattamento in grado di depurare reflui ad elevate concentrazioni di inquinante;

Successivamente sono stati analizzati i dati specifici relativi alla produzione e gestione dei rifiuti solidi urbani (Capitolo 3) sempre in riferimento ai diversi contesti

La sperimentazione ha avuto una durata di circa 40 giorni, durante i quali sono state effettuate delle misurazioni giornaliere per quel che concerne la produzione

Il lavoro di tesi si propone di analizzare l’evoluzione urbanistico-edilizia e socio-demografica di 19 aree oggetto di ricostruzione post-sismica individuate dalla legge 219/1981

Infine sono state modellate le condizioni d’innesco della frana avvenuta a Pozzano l’11 gennaio 1997, studiando la risposta del pendio al variare delle condizioni iniziali,