¿Cómo es la búsqueda binaria frente a otros esquemas de búsqueda?
Las matrices ordenadas con búsqueda binaria son una solución muy poco eficiente cuando las operaciones de inserción y borrado se intercalan con la recuperación, lo que lleva

O(n) por cada operación de este tipo. Además, las matrices ordenadas pueden complicar el uso de la memoria, sobre todo cuando los elementos se insertan a menudo en la matriz. Hay otras estructuras de datos que admiten inserciones y eliminaciones mucho más eficientes. La búsqueda binaria puede utilizarse para realizar correspondencias exactas y pertenencia a conjuntos (determinar si un valor objetivo está en una colección de valores). Existen estructuras de datos que permiten realizar más rápidamente la correspondencia exacta y la pertenencia a conjuntos. Sin embargo, a diferencia de muchos otros esquemas de búsqueda, la búsqueda binaria puede utilizarse para realizar correspondencias aproximadas eficientes, que suelen realizarse en tiempo
O(log n) independientemente del tipo o estructura de los propios valores. Además, hay algunas operaciones, como encontrar el elemento más pequeño y el más grande, que pueden realizarse eficientemente en una matriz ordenada.

Búsqueda lineal:

La búsqueda lineal es un algoritmo de búsqueda simple que comprueba cada registro hasta encontrar el valor objetivo. La búsqueda lineal puede realizarse en una lista enlazada, que permite insertar y borrar más rápidamente que una matriz. La búsqueda binaria es más rápida que la búsqueda lineal para matrices ordenadas, excepto si la matriz es corta, aunque la matriz debe ordenarse previamente. Todos los algoritmos de ordenación basados en la comparación de elementos, como el quicksort y el merge sort, requieren al menos
O(nlog n) comparaciones en el peor de los casos. A diferencia de la búsqueda lineal, la búsqueda binaria puede utilizarse para realizar comparaciones aproximadas eficientes. Hay operaciones, como encontrar el elemento más pequeño y el más grande, que pueden hacerse de forma eficiente en una matriz ordenada, pero no en una matriz sin ordenar.

Árboles:

Los árboles de búsqueda binaria se buscan utilizando un algoritmo similar al de la búsqueda binaria.
Un árbol de búsqueda binario es una estructura de datos en forma de árbol binario que funciona según el principio de la búsqueda binaria. Los registros del árbol están ordenados, y cada registro del árbol puede buscarse utilizando un algoritmo similar a la búsqueda binaria, que requiere un tiempo medio logarítmico. La inserción y la eliminación también requieren un tiempo medio logarítmico en los árboles de búsqueda binaria. Esto puede ser más rápido que la inserción y eliminación en tiempo lineal de las matrices ordenadas, y los árboles binarios conservan la capacidad de realizar todas las operaciones posibles en una matriz ordenada, incluidas las consultas de rango y aproximación.

Sin embargo, la búsqueda binaria suele ser más eficaz para buscar, ya que lo más probable es que los árboles de búsqueda binaria estén imperfectamente equilibrados, lo que da lugar a un rendimiento ligeramente peor que la búsqueda binaria. Esto se aplica incluso a los árboles de búsqueda binaria equilibrados, árboles de búsqueda binaria que equilibran sus propios nodos, porque rara vez producen el árbol con el menor número de niveles posible. Excepto en el caso de los árboles de búsqueda binaria equilibrados, el árbol puede estar muy desequilibrado, con pocos nodos internos con dos hijos, lo que hace que el tiempo de búsqueda medio y en el peor de los casos se aproxime a
n comparaciones. Los árboles de búsqueda binarios ocupan más espacio que las matrices ordenadas.

Los árboles de búsqueda binarios se prestan a la búsqueda rápida en memoria externa almacenada en discos duros, ya que los árboles de búsqueda binarios pueden estructurarse eficazmente en sistemas de archivos. El árbol B generaliza este método de organización de árboles. Los árboles B se utilizan con frecuencia para organizar el almacenamiento a largo plazo, como bases de datos y sistemas de archivos.

Hashing:
Para implementar matrices asociativas, las tablas hash, una estructura de datos que asigna claves a registros mediante una función hash, suelen ser más rápidas que la búsqueda binaria en una matriz ordenada de registros.La mayoría de las implementaciones de tablas hash sólo requieren un tiempo constante amortizado de media.Sin embargo, el hashing no es útil para las coincidencias aproximadas, como calcular la siguiente clave más pequeña, la siguiente más grande y la más cercana, ya que la única información que se da en una búsqueda fallida es que el objetivo no está presente en ningún registro. La búsqueda binaria es ideal para este tipo de coincidencias, ya que las realiza en tiempo logarítmico. La búsqueda binaria también admite coincidencias aproximadas. Algunas operaciones, como encontrar el elemento más pequeño y el más grande, pueden realizarse de forma eficiente en matrices ordenadas, pero no en tablas hash.

Algoritmos de pertenencia a conjuntos:
Un problema relacionado con la búsqueda es la pertenencia a conjuntos. Cualquier algoritmo que realice búsquedas, como la búsqueda binaria, también puede utilizarse para la pertenencia a conjuntos. Hay otros algoritmos que se adaptan más específicamente a la pertenencia a conjuntos. Una matriz de bits es el más sencillo, útil cuando el rango de claves es limitado. Almacena de forma compacta una colección de bits, en la que cada bit representa una única clave dentro del rango de claves. Las matrices de bits son muy rápidas, sólo requieren un tiempo O(1).
El tipo de matriz Judy1 maneja eficazmente claves de 64 bits.

Para obtener resultados aproximados, los filtros de Bloom, otra estructura de datos probabilística basada en el hash, almacenan un conjunto de claves codificándolas mediante una matriz de bits y múltiples funciones hash. Los filtros de Bloom ocupan mucho menos espacio que las matrices de bits en la mayoría de los casos y no son mucho más lentos: con
k funciones hash, las consultas de pertenencia sólo requieren
 O(k) de tiempo. Sin embargo, los filtros de Bloom adolecen de falsos positivos.

Otras estructuras de datos:
Existen estructuras de datos que pueden mejorar la búsqueda binaria en algunos casos, tanto para las búsquedas como para otras operaciones disponibles para las matrices ordenadas. Por ejemplo, las búsquedas, las coincidencias aproximadas y las operaciones disponibles para las matrices ordenadas pueden realizarse con más eficacia que la búsqueda binaria en estructuras de datos especializadas, como los árboles de van Emde Boas, los árboles de fusión, los tries y las matrices de bits. Estas estructuras de datos especializadas sólo suelen ser más rápidas porque aprovechan las propiedades de las claves con un determinado atributo (normalmente claves que son números enteros pequeños), por lo que consumirán mucho tiempo o espacio para las claves que carezcan de ese atributo. Siempre que las claves puedan ordenarse, estas operaciones siempre pueden realizarse al menos eficientemente en una matriz ordenada, independientemente de las claves. Algunas estructuras, como las matrices Judy, utilizan una combinación de enfoques para mitigar esto, conservando la eficiencia y la capacidad de realizar correspondencias aproximadas.
Las matrices ordenadas con la búsqueda binaria son una solución muy ineficiente cuando las operaciones de inserción y borrado se intercalan con la recuperación. Además, las matrices ordenadas pueden complicar el uso de la memoria, sobre todo cuando los elementos se insertan a menudo en la matriz.
La búsqueda binaria es más rápida que la búsqueda lineal para matrices ordenadas, excepto si la matriz es corta, aunque la matriz debe ordenarse previamente.
La búsqueda binaria suele ser más eficaz para buscar, ya que lo más probable es que los árboles de búsqueda binaria estén imperfectamente equilibrados, lo que da lugar a un rendimiento ligeramente peor que la búsqueda binaria.
una estructura de datos que asigna claves a registros mediante una función hash, suele ser más rápida que la búsqueda binaria en una matriz ordenada de registros.