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]
- Cómo calcular el número de inversiones en una lista que contiene números sin clasificar que oscilan entre 1 y 100,000
- ¿Cuál es el mejor algoritmo para multiplicar dos números?
- ¿Qué es Combinatorics on Words y qué problemas resuelve?
- Dada una canasta grande de bolas de colores, ¿cuántas canastas diferentes de un tamaño fijo puedes construir?
- ¿Hay algún teorema que relacione el número de coincidencias perfectas en un gráfico no bipartito con su permanente?
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!