• Non ci sono risultati.

Pag. 1 Cognome e Nome:

N/A
N/A
Protected

Academic year: 2021

Condividi "Pag. 1 Cognome e Nome:"

Copied!
1
0
0

Testo completo

(1)

Prova scritta del 28 Aprile 2006 Laboratorio di Algoritmi e Strutture Dati

Anno Accademico 2005/2006 Matricole Dispari-Pari e Pari-Dispari

Pag. 1

Cognome e Nome: Docente:

Numero di Matricola:

Spazio riservato alla correzione

1 2 3 4 5 totale

/10 /10 /20 /20 /30 /90

1. [10 punti] Si aggiunga alla classe ArrayStack (implementa l’interfaccia Stack usando un array) il metodo Stack clone() che restituisce un nuovo stack avente lo stesso contenuto dello stack su cui è invocato. Il metodo deve lasciare inalterato il contenuto dello stack su cui è invocato. Quale è la complessità del metodo proposto (giustificare la risposta).

2. [10 punti] Sia ArrayQueue la classe che implementa l'interfaccia Queue mediante un array.

Aggiungere il metodo void reverse() che inverte il contenuto della coda.

3. [20 punti] Sviluppare la classe VectorMap che implementa l’interfaccia Map utilizzando come variabile d’istanza un vettore.

4. [20 punti] Aggiungere alla classe LinkedTree il metodo void makeSameArity(int k) che, ricevuto un intero k, modifica l’albero su cui è invocato in modo che ogni nodo interno abbia k figli (tutti i nodi interni devono avere la stessa arità). L’albero modificato è ottenuto aggiungendo (togliendo) ad ogni nodo interno con f<k (f>k) figli, k-f (f-k) figli. I figli aggiunti saranno delle foglie aventi come elemento la stringa “new”. Valutare la complessità del metodo proposto.

5. [30 punti] Scrivere lo pseudocodice dell’algoritmo per la visita in ampiezza di un grafo (BFS).

Commentare l’uso delle strutture dati utilizzate. [10 punti]

Indicare, giustificando la risposta, la complessità dell’algoritmo BFS. [5 punti]

Codificare l’algoritmo BFS in Java (scrivere una funzione Java che implementi l’algoritmo).

Il codice deve far riferimento alle interfacce illustrate durante il corso. [15 punti].

Riferimenti

Documenti correlati

• la Natura è vista come una trama interconnessa di relazioni (“è un tutto polisistemico”)... Ecosistema della foca: rete delle

L'elasticità complessiva della membrana, influenzata anche dalla mescola, garantisce la resistenza alla fatica del manto impermeabile. resistenza alla fatica del

A partire dal programma che alloca e riempie una matrice di dimensione N, scriverne uno che usi &#34;getopt_long&#34; per gestire dimensioni delle matrici e nome

Si aggiunga alla classe ArrayStack (implementa l’interfaccia Stack usando un array) il metodo Stack clone() che restituisce un nuovo stack avente lo stesso contenuto dello stack su

Si aggiunga alla classe DLinkedDeque (implementa l’interfaccia Deque usando una coda doppiamente lincata) il metodo Deque clone() che restituisce una nuova deque avente lo

Si aggiunga alla classe DLinkedDeque (implementa l’interfaccia Deque usando una coda doppiamente lincata) il metodo Deque clone() che restituisce una nuova deque avente lo

Si aggiunga alla classe ArrayStack (implementa l’interfaccia Stack usando un array) il metodo Stack clone() che restituisce un nuovo stack avente lo stesso contenuto dello stack...

• L’implementazione con array consiste nell’usare un array flessibile, cioè un array che può modificare dinamicamente le sue dimensioni, perchè, in generale, non è noto a