Choc ! Presque toutes les recherches dichotomiques et tris fusion sont cassées
L'ingénieur logiciel de Google, Joshua Bloch, a révélé un bug vieux de près de deux décennies caché dans les algorithmes de recherche dichotomique, présent à la fois dans le JDK et dans "Perles de Programmation" de Jon Bentley ! Le bug provient de la ligne `int mid = (low + high) / 2;`, provoquant un dépassement de capacité entière et des exceptions d'index de tableau hors limites lorsque la somme de `low` et `high` dépasse la valeur entière positive maximale. Ce bug ne se manifeste qu'avec des ensembles de données massifs, ce qui le rend particulièrement dangereux à l'ère du big data. L'article explore plusieurs solutions et souligne que les bugs peuvent persister même avec des tests et des preuves rigoureux, incitant les programmeurs à rester prudents et humbles.