A pesar de la complejidad de los algoritmos, generalmente podemos dividir los algoritmos en 6 tipos fundamentales basados en su función. Algoritmo Recursivo，Algoritmo Divide y Vencerás，Algoritmo de Programación Dinámica，Algoritmo Voraz，Algoritmo de Fuerza Bruta y Algoritmo Vuelta Atrás.