Salve a tutti,
anche se l'argomento può non interessare i più, mi piacerebbe che
qualcuno mi desse un parere e magari qualche consiglio su un
algoritmo di ricerca binaria da me ideato. Premetto che non ho mai visto
in vita mia un algoritmo di ricerca binario, so che esistono, ma non
avendone nessuno disponibile ne ho inventato uno.
Come vi sembra? Pietoso, accettabile, buono, magari utilizzabile per
qualche programma?
Sappiatemi dire
Ciao
Simone
PS spero di non aver inventato qualcosa di simile a programmi già
esistenti, io non ne sono al corrente, nel caso informatemi cmq.
void binsearch (int array[], int n, int inizio, int medio, int fine, int key) {
int pivot, ipivot;
ipivot=medio; pivot=array[ipivot];
if ((key>=array[inizio]) && (key<=array[fine])) {
if (key==pivot)
printf ("\nElemento %d trovato in array [%d]\n", key, pivot-1);
else if (key<pivot) {
n=n/2;
medio=inizio+((ipivot-inizio)/2);
fine=ipivot-1;
binsearch (array, n, inizio, medio, fine, key);
}
else {
inizio=ipivot+1;
fine=n;
medio=inizio+((fine-inizio)/2);
binsearch (array, n, inizio, medio, fine, key);
}
}
else
puts ("\nValore non trovato\n");
}
|