Discussione:Ricerca dicotomica

Ultimo commento: 10 anni fa, lasciato da LoreDema in merito all'argomento Implementazione ricorsiva in Java

Implementazione ricorsiva in Java

modifica

Mi sembra sia sbagliato! Ho provato a compilarlo e dà errore. Non vorrei sbagliarmi, ma eliminerei la variabile s e sostituirei:

if (k < a[q])
   s = binarySearch(a, p, q-1, k);
if (k > a[q])
   s = binarySearch(a, q+1, r, k);

con:

if (k < a[q])
   return binarySearch(a, p, q-1, k);
if (k > a[q])
   return binarySearch(a, q+1, r, k);

Sbaglio? LoreDema (msg) 18:35, 29 dic 2013 (CET)Rispondi

E' davvero bsearch una delle librerie standard del C? A me non risulta, poi potrei anche sbagliarmi :) --87.3.26.81 (msg) 20:33, 11 gen 2010 (CET)Fabio1990Rispondi

Nel draft dello standard del C ANSI c'e`. -- IANEZZ  (msg) 18:41, 12 gen 2010 (CET)Rispondi

I listati sorgente proposti, per essere dimostrativi vanno bene, ma per correttezza didattica, manca qualunque controllo sui valori in entrata, ovvero che il limite minore di ricerca sia effettivamente inferiore a quello maggiore (velocizzerebbe l'esecuzione) e soprattutto che siano (interi) positivi (altrimenti si può generare un errore).

Ritorna alla pagina "Ricerca dicotomica".