Un algoritmo debe de ser:
- Preciso/definido: Los pasos a seguir en el algoritmo deben ser claramente definidos. Un algoritmo debe de ser preciso e indicar el orden de realización de cada paso.
- Determinación: El algoritmo, dado un conjunto de datos idénticos de entrada, siempre debe arrojar los mismos resultados. Un algoritmo debe de estar definido. Si se sigue el algoritmo dos veces, se debe de obtener el mismo resultado cada vez.
- Finitud: El algoritmo, independientemente de la complejidad del mismo, siempre debe de ser longitud finita. Si se sigue un algoritmo, debe de tener un número finito de pasos o terminar en algún momento.
- Efectivo: Generalmente siempre se espera que un algoritmo sea efectivo; esto significa que todas as operaciones a ser realizadas en el algoritmo deben se ser lo suficientemente básicos de modo que de un principio puedan ser llevadas a cabo de forma exacta y en un periodo de tiempo finito por una persona usando lápiz y papel(rutear).