Optimiser L'Algorithme De Recherche Binaire

Dans un système binaire de recherche, nous avons deux comparaisons pour plus que, et d'autres moins
que, sinon, la valeur moyenne. Comment voulez-vous optimiser de sorte que nous avons besoin de vérifier qu'une seule fois?

bool binSearch(int array[], int key, int left, int right)
{

    mid = left + (right-left)/2;
    if (key < array[mid])
        return binSearch(array, key, left, mid-1);
    else if (key > array[mid])
        return binSearch(array, key, mid+1, right);
    else if (key == array[mid])
        return TRUE; //Found

    return FALSE; //Not Found
}
Est-il une raison de ne pas utiliser brecherche()?

OriginalL'auteur Ganesh M | 2009-03-23