¿Cuáles son algunas situaciones inesperadas en las que se utilizan números triangulares en algoritmos?

No estoy seguro de lo que quieres decir con “inesperado”. Los números de triángulos ocurren muy a menudo cuando se desarrollan algoritmos que emplean bucles (especialmente cuando se verifican objetos combinatorios simétricos). En particular, un ejemplo sencillo es verificar el triángulo superior de una matriz by n. Podría usar el siguiente algoritmo para verificar si un triángulo superior de una matriz es todo 1.

Entrada: n por n Matriz M = (m_ {i, j});
para (i = 1; i <= n; i + = 1) {
para (j = i; j <= n; j + = 1) {
// verifica la entrada m_ {i, j}; (*)
}
}

En el paso i, se verifican las entradas seguidas. Luego, pon todo esto muy bien en un resumen:

[matemáticas] \ sum_ {i = 1} ^ {n} {\ sum_ {j = i} ^ {n} {1}} = n ^ 2 – (n-1) n / 2 = n (n + 1) / 2 [/ matemáticas]

Cuando varías n, obtienes los números triangulares como el número de controles que realizas. Algunos algoritmos básicos de clasificación basados ​​en comparación también exhiben este comportamiento en el peor de los casos. Es muy común en el análisis de algoritmos.

¡Espero que esto ayude!