¡En realidad se puede explicar de manera bastante intuitiva!
La búsqueda binaria funciona en una matriz ordenada dividiendo la matriz en dos partes y luego solo explora la parte que puede contener el elemento que estamos buscando.
Dado que corta la matriz en dos partes iguales en cada iteración, la pregunta es saber cuántos “cortes” se necesitarán para pasar de una matriz de tamaño N a una matriz de tamaño 1 que contendrá solo la solución (suponiendo que ¡el elemento que estás buscando está realmente en la matriz!).
- ¿Cuánto tiempo se necesita para leer Introducción a Algoritmos de TH Cormen, para un principiante?
- ¿Cuál es la diferencia entre la altura y la profundidad de un árbol?
- ¿Debería buscar la máquina de vectores de soporte (SVM) o la red neuronal (NN)? ¿Cual es mejor?
- ¿Cómo debo entender los "Teoremas de no almuerzo gratis para la optimización"?
- ¿Cómo debería resolver mejor los problemas de programación?
El tamaño del subconjunto que está explorando en la iteración [math] i [/ math] es [math] \ frac {N} {2 ^ i} [/ math], y si lo establece igual a 1, obtendrá [matemáticas] i = log_2 (N) [/ matemáticas]
(Tenga en cuenta que tener un número impar de elementos en la matriz introduciría algunas operaciones de redondeo, pero el análisis aún arrojará O (N) como la solución).