Tipos de algoritmos de búsqueda

Los algoritmos de búsqueda forman una parte importante de muchos programas. Algunas búsquedas implican buscar una entrada en una base de datos, como buscar su registro en la base de datos del IRS. Otros algoritmos de búsqueda rastrean un espacio virtual, como los que buscan las mejores jugadas de ajedrez. Aunque los programadores pueden elegir entre numerosos tipos de búsqueda, seleccionan el algoritmo que mejor se adapta al tamaño y la estructura de la base de datos para brindar una experiencia fácil de usar.

Búsqueda lineal

La búsqueda lineal es el algoritmo de elección para las listas cortas, porque es simple y requiere un código mínimo para implementar. El algoritmo de búsqueda lineal mira el primer elemento de la lista para ver si lo está buscando y, si es así, ha terminado. De lo contrario, busca en el elemento siguiente y en cada entrada de la lista.

Búsqueda binaria

La búsqueda binaria es un algoritmo popular para grandes bases de datos con registros ordenados por clave numérica. Los candidatos de ejemplo incluyen la base de datos del IRS codificada por el número de seguro social y los registros del DMV ingresados ​​por los números de la licencia de conducir. El algoritmo comienza en la mitad de la base de datos; si su número objetivo es mayor que el número del medio, la búsqueda continuará con la mitad superior de la base de datos. Si su número objetivo es más pequeño que el número del medio, la búsqueda continuará con la mitad inferior de la base de datos. Sigue repitiendo este proceso, cortando la base de datos a la mitad cada vez hasta que encuentra el registro. Esta búsqueda es más complicada que la búsqueda lineal, pero para grandes bases de datos es mucho más rápida que una búsqueda lineal.

Búsqueda de árboles

Una búsqueda de árbol solo funciona si los datos se ajustan a una estructura de árbol. La base de datos comienza en una raíz que va a algunos elementos, cada uno de los cuales va a algunos elementos más y así sucesivamente hasta que tenga un árbol. Un ejemplo es el juego de ajedrez. La posición actual del tablero es la raíz. Los movimientos legales desde esta posición representan un paso hacia abajo en el árbol, y así sucesivamente hasta que el jugador encuentra la posición del tablero que lo deja en la mejor posición.

Algoritmo Genético

Una búsqueda de algoritmos genéticos es una de las técnicas detrás de la inteligencia artificial. Busca una "solución óptima" expresada como una cadena de datos, como la lista de dimensiones internas de un motor a reacción que proporciona el máximo empuje. La búsqueda comienza con una población aleatoria de cadenas y prueba cada una, conservando las mejores y criándolas para obtener la siguiente generación. El programa continúa repitiendo este proceso hasta que llega a una cadena de solución óptima.