 Analysez le code et expliquez comment cet algorithme fonctionne.
 def binsearch(arr, x):\n start = 0\n end = len(arr) - 1\n while start <= end:\n mid = (start + end)//2\n if arr[mid] == x:\n return mid\n elif arr[mid] > x:\n end = mid - 1\n else:\n start = mid + 1\n return none
Cet algorithme de recherche binaire parcourt un tableau en calculant à plusieurs reprises le point médian et en comparant la valeur au point médian avec la valeur recherchée. Si la valeur correspond, l'algorithme renvoie l'index de la valeur dans le tableau. Si la valeur est supérieure à la valeur recherchée, l'algorithme continue en recherchant la moitié gauche du tableau. Sinon, il continue en fouillant la moitié droite. Si la valeur est introuvable dans le tableau, None est renvoyé.