Tipo de algoritmos más importante

Algoritmo: 
Un algoritmo es un procedimiento paso a paso para resolver un problema. Un buen algoritmo debe optimizarse en términos de tiempo y espacio. Diferentes tipos de problemas requieren diferentes tipos de técnicas algorítmicas para ser resueltos de la manera más optimizada. Hay muchos tipos de algoritmos, pero los algoritmos más importantes y fundamentales que debe conocer se discutirán en este artículo.

Algoritmo de fuerza bruta: 
este es el tipo de algoritmo más básico y simple. Un algoritmo de fuerza bruta es el enfoque directo de un problema, es decir, el primer enfoque que nos viene a la mente al ver el problema. Más técnicamente, es como iterar todas las posibilidades disponibles para resolver ese problema.

Por ejemplo: Si hay un bloqueo de PIN de 4 dígitos . Los dígitos que se elegirán del 0 al 9 luego la fuerza bruta intentará todas las combinaciones posibles una por una como 0001 , 0002 , 0003 , 0004 , y así sucesivamente hasta que obtengamos el PIN correcto. En el peor de los casos, se necesitarán 10.000 intentos para encontrar la combinación correcta.

Algoritmo recursivo:
este tipo de algoritmo se basa en la recursividad . En la recursividad, un problema se resuelve dividiéndolo en subproblemas del mismo tipo y llamándose a sí mismo una y otra vez hasta que el problema se resuelve con la ayuda de una condición base.

Algunos problemas comunes que se resuelven usando algoritmos recursivos son Factorial de un número , Serie de Fibonacci , Torre de Hanoi , DFS para gráfico , etc.

Algoritmo Divide and Conquer :
En los algoritmos Divide and Conquer, la idea es resolver el problema en dos secciones, la primera sección divide el problema en subproblemas del mismo tipo. La segunda sección es para resolver el problema más pequeño de forma independiente y luego sumar el resultado combinado para producir la respuesta final al problema.

Algunos problemas comunes que se resuelven con los algoritmos Divide and Conquers son la búsqueda binaria , la clasificación por combinación, la clasificación rápida , la multiplicación de arrays de Strassen , etc.

Algoritmos de Programación Dinámica :
Este tipo de algoritmo también se conoce como latécnica de memorizaciónporque en este la idea es almacenar el resultado calculado previamente para evitar calcularlo una y otra vez. En la programación dinámica, divida el problema complejo ensubproblemas superpuestosy almacene el resultado para uso futuro.

Los siguientes problemas se pueden resolver utilizando el algoritmo de programación dinámica Problema de mochila , Programación ponderada de trabajos , Algoritmo de Floyd Warshall , etc.

Algoritmo Greedy :
En el Algoritmo Greedy, la solución se construye parte por parte. La decisión de elegir la siguiente parte se toma sobre la base de que da el beneficio inmediato. Nunca tiene en cuenta las elecciones que había tomado anteriormente.

Algunos problemas comunes que se pueden resolver a través del algoritmo Greedy son el algoritmo de ruta más corta de Dijkstra , el algoritmo de Prim, el algoritmo de Kruskal , la codificación de Huffman , etc.

Algoritmo de retroceso : 
en el algoritmo de retroceso, el problema se resuelve de forma incremental, es decir, es una técnica algorítmica para resolver problemas de forma recursiva al intentar construir una solución de forma incremental, una pieza a la vez, eliminando aquellas soluciones que no satisfacen las restricciones de el problema en cualquier momento.

Algunos problemas comunes que se pueden resolver a través del algoritmo de retroceso son el ciclo hamiltoniano , el problema de coloración M, el problema de la reina N, el problema de la rata en el laberinto , etc.

 
Algoritmo aleatorio
En el algoritmo aleatorio, usamos un número aleatorio que ayuda a decidir el resultado esperado. La decisión de elegir el número aleatorio para que dé el beneficio inmediato
Ejemplo :

Algunos problemas comunes que se pueden resolver a través del algoritmo aleatorio son Quicksort: en Quicksort usamos el número aleatorio para seleccionar el pivote.
 

Algoritmo
de clasificación El algoritmo de clasificación se utiliza para clasificar los datos en orden ascendente o descendente. También se utiliza para organizar los datos de una manera eficiente y útil. 

Ejemplo: algunos problemas comunes que se pueden resolver a través del algoritmo de clasificación son la clasificación de burbujas, la clasificación por inserción, la clasificación por fusión, la clasificación por selección y la clasificación rápida son ejemplos del algoritmo de clasificación.

Algoritmo
de búsqueda El algoritmo de búsqueda es el algoritmo que se utiliza para buscar la clave específica en datos particulares ordenados o no ordenados. Algunos problemas comunes que se pueden resolver a través del algoritmo de búsqueda son la búsqueda binaria o la búsqueda lineal es un ejemplo de un algoritmo de búsqueda.

Algoritmo
hash Los algoritmos hash funcionan igual que el algoritmo de búsqueda, pero contienen un índice con una ID de clave. En hashing, asignamos una clave a datos específicos.

Ejemplo: algunos problemas comunes que se pueden resolver a través del algoritmo Hashing en la verificación de contraseña.

Publicación traducida automáticamente

Artículo escrito por muskan02 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *