Voici l' entrée wikipedia
Si vous regardez l'approche itérative simple. Vous éliminez simplement la moitié des éléments à rechercher jusqu'à ce que vous trouviez l'élément dont vous avez besoin.
Voici l'explication de la manière dont nous élaborons la formule.
Dites d'abord que vous avez N nombre d'éléments, puis ce que vous faites est «N / 2» comme première tentative. Où N est la somme de la borne inférieure et de la borne supérieure. La première valeur temporelle de N serait égale à (L + H), où L est le premier index (0) et H est le dernier index de la liste que vous recherchez. Si vous avez de la chance, l'élément que vous essayez de trouver sera au milieu [par exemple. Vous cherchez 18 dans la liste {16, 17, 18, 19, 20} puis vous calculez ⌊ (0 + 4) / 2⌋ = 2 où 0 est la borne inférieure (L - index du premier élément du tableau) et 4 est la borne supérieure (H - indice du dernier élément du tableau). Dans le cas ci-dessus L = 0 et H = 4. Maintenant, 2 est l'indice de l'élément 18 que vous recherchez. Bingo! Tu l'as trouvé.
Si le cas était un tableau différent {15,16,17,18,19} mais que vous recherchiez toujours 18, vous n'auriez pas de chance et vous feriez d'abord N / 2 (qui est ⌊ (0 + 4) / 2⌋ = 2 puis réalisez que l'élément 17 à l'index 2 n'est pas le nombre que vous recherchez. Vous savez maintenant que vous n'avez pas à rechercher au moins la moitié du tableau lors de votre prochaine tentative de recherche de manière itérative. l'effort de recherche est divisé par deux. Donc, fondamentalement, vous ne recherchez pas la moitié de la liste des éléments que vous avez recherchés précédemment, chaque fois que vous essayez de trouver l'élément que vous n'avez pas pu trouver lors de votre précédente tentative.
Donc le pire des cas serait
[N] / 2 + [(N / 2)] / 2 + [((N / 2) / 2)] / 2 .....
soit:
N / 2 1 + N / 2 2 + N / 2 3 + ..... + N / 2 x … ..
jusqu'à ce que ... vous ayez terminé la recherche, où dans l'élément que vous essayez de trouver se trouve à la fin de la liste.
Cela montre que le pire des cas est lorsque vous atteignez N / 2 x où x est tel que 2 x = N
Dans les autres cas N / 2 x où x est tel que 2 x <N La valeur minimale de x peut être 1, ce qui est le meilleur des cas.
Or, puisque le pire des cas mathématiques est celui où la valeur de
2 x = N
=> log 2 (2 x ) = log 2 (N)
=> x * log 2 (2) = log 2 (N)
=> x * 1 = log 2 (N)
=> Plus formellement ⌊log 2 (N) + 1⌋