Estratto del documento

Esercizio di laboratorio

Argomento: algoritmi di ricerca, ricerca su stringhe.

Realizzare un algoritmo di ricerca binaria (binarySearch) che funzioni in modo iterativo anziché ricorsivo.

Soluzione

Il metodo iterativeBinSearch effettua un accesso all'elemento intermedio dell'array ordinato, e se questo non contiene il valore cercato itera la ricerca sul semi-array superiore o inferiore, fino a quando:

  • Non trova il valore cercato, oppure
  • L'intervallo su cui effettuare la ricerca non diventa vuoto.

Prestare attenzione al fatto che il confronto di ordinamento tra stringhe avviene attraverso i metodi equals e compareTo.

Alg. di ricerca: binSearch iterativo

public static int iterativeBinSearch(String[] v, int vSize, String s){ int from = 0; int to = vSize - 1; while (from <= to){ int mid = (from + to) / 2; if (s.equals(v[mid])) return mid; else if (s.compareTo(v[mid]) < 0) to = mid - 1; else from = mid + 1;} return -1;}

Anteprima
Vedrai una selezione di 1 pagina su 1
Informatica I - Esercizi binsearch iterativo Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community