¿Cuál es el mejor algoritmo de búsqueda en programación?

Sea un poco específico al hacer preguntas como para qué caso, desea conocer el mejor algoritmo de búsqueda. No voy a entrar en la implementación de ningún algoritmo; simplemente googlear sería suficiente para eso.

Cada algoritmo de búsqueda tiene sus propias ventajas y desventajas. Dependiendo de sus recursos y requisitos, se selecciona el más adecuado. Sin embargo, la mayoría de las veces, el mejor algoritmo es el más rápido, pero a veces tenemos poco espacio.

/ * Necesitamos buscar un elemento num en una lista * /

int list [] = {5,15,78,10,178,44}; // nuestra lista
cheque booleano [100] = {false}; // comprueba la matriz para la utilidad de búsqueda

check [5] = check [15] = check [78] = check [10] = check [44] = verdadero;

int num = 10; // número que necesitamos buscar en la lista
if (marque [num] == verdadero) {
// elemento encontrado
} más {
// elemento no encontrado
}

  • Algoritmos de búsqueda de cadenas
    Los más famosos son: KMP (Knuth Morris Pratt), Rabin Karp y Autómata de estado finito. Pocas estructuras de datos como Tries también se utilizan.

Además de estos algoritmos de búsqueda generales, hay varias estructuras de datos especializadas utilizadas para fines de búsqueda, como árboles de segmentos , árboles de búsqueda binaria , árboles kd , etc., cada uno con su propio propósito, como la búsqueda de rango, etc.

TL; DR
En general, se dice que la búsqueda binaria es el mejor algoritmo de búsqueda a menos que se indique lo contrario.

Bienvenido al vasto mundo de la programación 😉