Programming Exercises (in italian)

Note

This workspace is provided for your convenience. You can use this activecode window to try out anything you like.




(prova2)

  1. Scrivere un programma che accetti in input due array di interi distinti e restituisca in output il numero di elementi che occorrono in entrambi gli array.
  2. Come sopra, assumendo che gli array in input siano ordinati
  3. Scrivere una funzione che, data una stringa, un array di stringhe distinte e ordinate lessicograficamente e la sua lunghezza, cerchi la stringa nell’array utilizzando la ricerca binaria. La funzione restituisce la posizione della stringa se essa `e presente, il valore -1 altrimenti.
  4. Modificare il Quicksort in maniera tale che ordini gli elementi pari nella parte inferiore dell’array e quelli dispari in quella superiore.
  5. Scrivere un programma che utilizzi il quick sort per ordinare un vettore di punti del piano cartesiano. Ciascun punto è formato da una coppia di coordinate (x, y). I punti devono essere ordinati per ascissa crescente. A parità di ascissa, si ordini per ordinata decrescente.
  6. In un sacco ci sono n palline colorate e numerate. Sia S={(x,y): x e’ il numero su una pallina e y è il suo colore}. Dato l’elenco delle coppie in S, calcolare il numero di colori distinti nel sacco.
  7. Scrivere un programma che legga da tastiera due interi N e K e una sequenza di N stringhe e che stampi le K stringhe piu` frequenti in essa contenute, in ordine lessicografico.
  8. Dato un albero binario espresso tramite liste ([chiave, [sottoalbero sinistro], [sottoalbero destro]]), scrivere un programma che ritorni l’altezza dell’albero
  9. Dato un albero binario di ricerca espresso tramite liste come sopra, scrivere un programma che stampi le chiavi dell’albero in modo ordinato.
Next Section - What Is Algorithm Analysis?