Algoritmos

Esta sección contiene un conjunto de procedimientos genéricos que tienen como objetivo resolver un problema de forma eficiente, razonable, correcta, y tan completamente como sea posible.

Los algoritmos son procedimientos rigurosos producto de análisis formales, que han permitido determinar secuencias de acciones que deben ser tomadas para llevar a cabo una tarea o la resolución de un problema.

Los algoritmos son independientes de cualquier computadora, hardware o máquina. No dependen de un ambiente de desarrollo específico para existir, para ser definidos, estudiados o puestos en práctica de forma teórica pero necesaria para tener el enfoque correcto de una situación o problema.

En su forma pura, los algoritmos no tienen interés en la optimización para un lenguaje de programación o un procesador determinado, aunque sí están interesados en describir y llevar a cabo secuencias eficientes que intrínsecamente limiten el tiempo de ejecución y el espacio requerido para terminar una tarea dada.

Hay algoritmos de todo tipo, pero en general, un algoritmo capaz de resolver un mismo problema pero con un tamaño arbitrario de forma logarítmica es mejor y preferible sobre uno que lo resuelva de forma exponencial.

Esto significa que un algoritmo con capacidad de resolución logarítmica consume, lentamente, más y más tiempo y espacio a medida que el problema a resolver crece; mientras que un algoritmo con capacidad de resolución exponencial crece muy rápido en requerimientos de tiempo (cuánto se tarda en terminar) y espacio (cuánta memoria necesita) a medida que el problema a resolver crece también.

Los algoritmos son como los estándares que dictan cómo resolver un problema, cómo llevar a cabo una tarea, y especifican la complejidad de tiempo y espacio demandada por el algoritmo.

Los algoritmos se diferencian de los llamados Estándares porque estos últimos hacen precisamente uso de convenciones, normas y algoritmos para dar forma al molde del entorno sobre el que un sistema de hardware, software, o de otro tipo, debe funcionar. Son los parámetros dentro de los que dichos sistemas particulares deben estar de conformidad. Sin embargo, los Estándares no explican la raíz de los algoritmos y por eso no son el lugar ideal para aprender los Algoritmos específicamente de manera directa o eficiente.