1
El algoritmo debe tener un número finito de pasos. Esto significa que debe terminar después de un tiempo razonable y no entrar en un bucle infinito
2
unque no es una característica funcional estricta, un algoritmo bien diseñado debe ser fácil de entender y modificar, facilitando su mantenimiento y adaptación
3
Las instrucciones del algoritmo deben ser claras, precisas y no ambiguas. Cada paso debe definirse de manera que no genere confusiones.
4
Un buen algoritmo debe consumir la menor cantidad de recursos posibles (como tiempo y memoria), logrando su objetivo de manera óptima.
5
6
Un algoritmo debe aceptar cero, una o más entradas que actúan como datos iniciales necesarios para realizar las operaciones.
7
Debe producir al menos un resultado, que es la solución al problema planteado o un dato de interés.
8
El algoritmo debe ser aplicable a un conjunto de problemas similares, no solo a un caso específico.
9
Puede estar compuesto por subalgoritmos o módulos que realizan tareas específicas, permitiendo un diseño más estructurado y reutilizable
10
En un algoritmo determinista, las mismas entradas siempre producirán las mismas salidas. Es decir, no hay lugar para la aleatoriedad en su comportamiento
11
Un buen algoritmo puede adaptarse o modificarse fácilmente para resolver problemas similares con ligeros cambios.
12
El diseño de un algoritmo puede seguir principios o estándares que aseguren que sea comprensible y utilizable en diferentes entornos.
13
Algunos algoritmos pueden dividir sus tareas en subtareas que se ejecutan simultáneamente, aprovechando múltiples procesadores o núcleos.
14
Un algoritmo puede ajustarse para manejar cambios en las condiciones de entrada o en los requisitos del problema.
15
Un algoritmo debe resolver el problema para el que fue diseñado, produciendo resultados correctos para todas las entradas válidas.