Bonjour,
Je suis en train d'étudier de mon côté pour le BTS les algorithmes.
J'essaye de comprendre comment on évalue "l'efficacité" d'un algo et je suis tombé sur grand O de n, noté O(n) ou teta(n).
Je suis en train de voir l'algorithme binary search où l'on cherche une valeur en réalisant des divisions successives du milieu de l'intervalle et en réduisant l'intervalle à la partie contenant la valeur recherchée. Je ne comprends pas pourquoi la complexité de cet algorithme est de type logarithme décimal. Le résultat est O(log2n). J'ai eu beau cherché je ne comprends pourquoi, cela doit peut-être du au fait que l'on réalise une division par 2, il y a sûrement un point de mathématique que je comprends pas, ou que j'ai tout simplement oublié.
D'autre part que représente le 2 dans log2n ? Ce que je me rappelle c'est que log x = ln x / ln 10 et que exp ln x = a.
J'ai écris le pseudo-code dans le lien ci-dessous pour garder la syntaxe afin de faciliter la lecture.
https://pastebin.com/4B74WtrQ
Merci beaucoup par avance
Cordialement
Mathieu
-----