Multidimensional Iteration

Nested For & Multiplication Table

Nested loops, O(N²) complexity, and matrices in C, Java, JS, and Python.

SLIDE 1 / 6

1. Nested Loop Mechanics

For each iteration of the outer loop (i), the inner loop (j) completes all its iterations.

TIME COMPLEXITY
Bucle Externo (N veces)Filas (i)
Bucle Interno (M veces)Columnas (j)
Total Pasos: N × MO(N²) si N=M

2. C: Tabla de Multiplicar

Uso clásico de for anidado para imprimir filas y columnas tabuladas con `\t` y saltos `\n`.

table.c
for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= 5; j++) {
        printf("%d\t", i * j);
    }
    printf("\n");
}

3. Java: Recorrido de Matrices 2D

Iteración sobre un array bidimensional `matrix[row][col]` mediante dos índices acoplados.

Matrix2D.java
int[][] grid = new int[3][3];
for (int r = 0; r < grid.length; r++) {
    for (int c = 0; c < grid[r].length; c++) {
        grid[r][c] = r * c;
    }
}

4. JavaScript: Generación de Grillas

JS usa for anidado para construir layouts bidimensionales, mapas de tiles o matrices de píxeles.

grid.js
for (let x = 0; x < 3; x++) {
    for (let y = 0; y < 3; y++) {
        console.log(`Point: (${x}, ${y})`);
    }
}

5. Python: List Comprehension Anidada

Python permite expresar matrices bidimensionales concisamente mediante sintaxis de comprehensions.

matrix.py
matrix = [[i * j for j in range(1, 4)] for i in range(1, 4)]
# [[1, 2, 3], [2, 4, 6], [3, 6, 9]]

6. Matrix Simulator

Visualize the 3x3 grid generated by nested loops:

1×1=11×2=21×3=3
2×1=22×2=42×3=6
3×1=33×2=63×3=9