Una forma de clasificar los algoritmos consiste en diferenciarlos por su metodología de diseño. A continuación se presenta una síntesis de las metodologías más comunes, aplicables cada una a diferentes clases de problemas:

Fuerza bruta: los algoritmos de fuerza bruta resuelven el problema con la estrategia más obvia de solución, que no siempre es la mejor según el número de operaciones que se requiere.

Divide and conquer (divide y reinarás): esta metodología divide las instancias del problema a resolver en instancias cada vez más pequeñas, usualmente en forma recursiva, hasta llegar a una instancia en que el problema es resoluble en forma trivial o con unas pocas instrucciones. Los algoritmos de búsqueda binaria son un ejemplo de la metodología divide and conquer.

Programación dinámica: cuando un problema presenta una subestructura óptima –o sea, cuando la solución óptima de un problema se obtiene a partir de las soluciones óptimas de sus subproblemas–, se encuentra la solución resolviendo primero los subproblemas más sencillos y luego utilizando esas subsoluciones para resolver problemas incrementalmente difíciles. Por ejemplo, si se tiene una serie de puntos (definidos por coordenadas x, y) que delimitan una región, y se necesita saber si otro punto se encuentra dentro o fuera de esa región, una forma de resolver el problema consiste en comenzar formando cuadrados con puntos contiguos, para luego formar figuras cada vez más grandes y, por cada figura, determinar si el punto está dentro o fuera de ella. En cada paso se aprovecha la información de los pasos anteriores, hasta que, al completar todos los puntos, se obtiene el resultado del problema.

Programación lineal: para resolver un problema utilizando programación lineal, se plantea una serie de inecuaciones y luego se busca maximizar (o minimizar) las variables, respetando las inecuaciones. Muchos problemas pueden plantearse en la forma de un conjunto de inecuaciones, para luego resolverlos utilizando un algoritmo genérico, como por ejemplo, el denominado método Simplex (en la sección de Servicios al lector se detallan sitios donde obtener más información sobre este método).

Búsqueda y enumeración: muchos problemas (como por ejemplo, un juego de ajedrez) pueden modelarse con grafos y resolverse a partir de un algoritmo de exploración del grafo. Tal algoritmo especificará las reglas para moverse en el grafo en busca de la solución al problema. Esta categoría incluye también algoritmos de backtracking (vuelta atrás), los cuales van ensayando distintos caminos con posibles soluciones
y vuelven atrás cuando no las encuentran. Por ejemplo, para encontrar la salida en un laberinto, cada vez que se llega al final de un camino se vuelve atrás hasta la última bifurcación, para probar con las distintas alternativas de esa bifurcación.

Algoritmos heurísticos: el propósito de estos algoritmos no es necesariamente encontrar una solución final al problema, sino encontrar una solución aproximada cuando el tiempo o los recursos necesarios para encontrar la solución perfecta son excesivos. Muchos sistemas antivirus utilizan métodos heurísticos para detectar conductas de programas que podrían estar actuando en forma maliciosa.

Algoritmos voraces: seleccionan la opción de solución (solución local) que tenga un costo menor en la etapa de solución en la que se encuentran, sin considerar si esa opción es parte de una solución óptima para el problema completo (solución global).

Add To Cart Button Redirect (VQMod) Opencart Module This Module Requires VQMod To Work This module allows you to redirect your product add to cart buttons to external websites. This is great for affilia...
Linux mint 14 - Clement Lefebvre, máximo responsable del proyecto, presentaba recientemente la nueva versión Linux Mint 14 nombre en clave Nadia. Basado en Ubunt...
Aumentan en España las peticiones de derecho al olvido a Google Con 8.000 solicitudes que afectan a unas 27.000 urls, España se sitúa por detrás de Francia, Alemania y Reino Unido, por este orden. En el mes y ...
Google Traductor crea su propia lengua Google anunció que introduciría en su traductor un nuevo sistema llamado GNMT (Google Neural Machine Translation), el cual está basado en el modelo de...
Estos Son los Números Financieros de Facebook para entrar en la Bolsa de Wall Street Facebook presentó ayer en la SEC (Securities and Exchange Commission) la documentación necesaria para su Oferta Pública de Venta, esclareciendo muchos...
El Modelo de Bases de Datos Relacionales Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido. Los motivos de este éxito son fundamentalmente dos: 1. ofr...
Linux Mint 12 Linux Mint 12 nombre en clave Lisa es la nueva versión de la popular distribución GNU/Linux. Tras varias semanas de un fuerte hermetismo después de...
Subroutines en PERL Hasta ahora, todos los "programas" capaces de escribir son bastante 'lineales', es decir que se ejecutarían de principio a fin, línea tras línea, si...
Google Chrome 18 En una incansable política de lanzamientos que ha logrado resultados positivos desde la llegada de la primera versión del navegador, hace más de tres ...
Creando Formularios en HTML Formas y Aplicación de Servidor La recabación de datos forma una parte muy importante para cualquier sitio de Internet y esta también se lleva acabo ...