La búsqueda binaria es un algoritmo para el problema de búsqueda, y se puede utilizar en muchos entornos diferentes, incluidos ciertos tipos de procedimientos de decisión para problemas de optimización.
La búsqueda binaria requiere que los datos de entrada mantengan un orden parcial (en términos simples, se ordenan en orden no decreciente). El beneficio que queremos obtener del algoritmo es acceder a cada valor en la posición intermedia en tiempo constante. En una lista vinculada, obtener la posición intermedia puede llevar tiempo [matemático] O (n) [/ matemático]. Entonces, la complejidad del tiempo iría de [math] O (\ log {n}) [/ math] a [math] O (n \ log {n}) [/ math].
Una estructura de datos como una matriz es mucho más adecuada, ya que puede acceder a cualquier miembro de la matriz en tiempo constante. Recuerde que los datos deben ordenarse para usar la búsqueda binaria.
- Si alguien pudiera factorizar rápidamente los números primos, ¿cuáles serían las consecuencias?
- ¿Qué son los proyectos de código abierto? Soy muy bueno en C ++, estructuras de datos y algoritmos. ¿Puedo contribuir a algunos proyectos de código abierto? Si es así, ¿cómo? ¿Tendré que aprender algún idioma nuevo?
- ¿Cuál es la diferencia entre un problema formal y solo un problema?
- ¿Existe un libro o sitio web que describa los problemas y luego le solicite la estructura de datos / algoritmos más apropiados necesarios para resolver el problema?
- ¿Cuáles son las ventajas y desventajas de los enfoques de espera ocupada y sueño y vigilia para la exclusión mutua con respecto al kernel de Linux?