Tecniche di Programmazione
Corso di Laurea in Ingegneria Informatica
Corso di Laurea in Ingegneria Automatica
A.A. 2003/04

Appello del 23/3/2004 - Compito B

Si vogliono gestire dei pronto-soccorsi. Di un oggetto ProntoSoccorso sono di interesse il nome del pronto-soccorso (una stringa) e le visite che deve effettuare. Di ogni visita sono di interesse le seguenti informazioni: Gli oggetti ProntoScoccorso supportano le seguenti funzionalità:

Domanda 1. Scrivere una classe Java ProntoScoccorso per rappresentare oggetti ProntoScoccorso. Fornire il costo in tempo dei metodi che realizzano le funzionalità priorità, servi e tuttiPriorità, motivando la risposta (indicando esplicitamente i parametri di input e il caso peggiore).

Domanda 2. Realizzare un metodo statico pazientiDaVisitare cliente della classe ProntoScoccorso che, dati

scrive sul file fout, uno per riga, il nome del paziente e la relativa priorità, dei pazienti in fin presenti in ps la cui priorità è maggiore di pin. Fornire il costo in tempo del metodo realizzato, motivando la risposta (indicando esplicitamente i parametri di input e il caso peggiore).

Domanda 3. Spiegare la rappresentazione collegata di alberi binari in cui l'informazione in ciascun nodo è una stringa. Spiegare l'algoritmo di visita in preordine di alberi binari. Facendo uso della rappresentazione collegata, realizzare un metodo statico pubblico che, dato il riferimento alla radice di un albero binario alb, restituisca il numero di nodi che hanno esattamente un figlio diverso dall'albero vuoto. Fornire il costo in tempo e spazio di memoria del metodo realizzato, motivando la risposta (indicando esplicitamente i parametri di input e il caso peggiore).