Se llama subalgoritmo  es un método de programación para dividir  las partes de un algoritmo más general que resuelve cada una de las tareas particulares necesarias para que dicho algoritmo general alcance el objetivo para el que fue diseñado, es decir resolver un problema. Esta técnica se suele denominarse "divide y vencerás" esto debido a que se se divide el problema en pequeñas partes hasta alcanzar lograr el problema general.[1]​[2]​
Este concepto está vinculado al diseño estructurado de algoritmos, en el cual un problema se divide en partes que posteriormente son resueltas por un módulo. Cada módulo coincidirá con un subalgoritmo.[1]​[3]​