Performance moyenne de l’algorithme de recherche binary?

http://en.wikipedia.org/wiki/Binary_search_algorithm#Average_performance

BinarySearch(int A[], int value, int low, int high) { int mid; if (high  value) return BinarySearch(A, value, low, mid-1); else if (A[mid] < value) return BinarySearch(A, value, mid+1, high); else return mid; } 

Si l’entier que j’essaie de trouver est toujours dans le tableau, quelqu’un peut-il m’aider à écrire un programme capable de calculer les performances moyennes d’un algorithme de recherche binary?

edit: Je sais que je peux le faire en exécutant le programme et en comptant le nombre d’appels, mais ce que j’essaie de faire ici, c’est de le faire sans appeler la fonction.

edit2: KennyTM: C’est une complexité temporelle, j’essaie de calculer le nombre moyen d’appels. Par exemple, le nombre moyen d’appels pour trouver un entier dans A [2], ce serait 1.67 (5/3)

Vous n’avez pas besoin d’un “programme”. Vous pouvez simplement compter le nombre d’appels à la méthode BinarySearch .

Vous pouvez le faire facilement en passant un autre paramètre (par un pointeur) ou en utilisant une variable globale. Dans ce cas, il s’agit d’un jouet, alors j’irais probablement vite et mal avec le mondial.