Implementing 2D Array Algorithms · Implémentation d'algorithmes de tableaux 2D
| English | Français |
|---|---|
| nested-loop/ˈnestɪd luːp/ | boucle imbriquée |
| main diagonal/meɪn daɪˈæɡənl/ | diagonale principale |
| indexed/ˈɪndekst/ | indexé |
Grid algorithms
- 2-D algorithms combine the array patterns with nested-loop 嵌套循环 traversal.
- Sum / count / max over the whole grid: accumulate inside the inner loop.
- Search a grid: return the
[row][col]where found (or a "not found" signal). - The same accumulator/max logic, now over
rows × columnscells.
Algorithmes sur grille
- Les algorithmes 2-D combinent les motifs de tableau avec le parcours en boucles imbriquées 嵌套循环.
- Somme / dénombrement / max sur toute la grille : accumulez à l'intérieur de la boucle interne.
- Recherche dans une grille : retournez la
[row][col]où elle a été trouvée (ou un signal « non trouvé »). - La même logique d'accumulateur/max, maintenant sur
rows × columnscellules.
Row and column sums
- One row: fix
r, loopcover the columns, summingg[r][c]. - One column: fix
c, looprover the rows, summingg[r][c]. - Choosing which index to fix and which to loop is the key decision.
- A row sum sweeps across; a column sum sweeps down.
Sommes de lignes et de colonnes
- Une ligne : fixez
r, parcourrezcsur les colonnes, en additionnantg[r][c]. - Une colonne : fixez
c, parcourrezrsur les lignes, en additionnantg[r][c]. - Choisir quel index fixer et lequel parcourir est la décision clé.
- Une somme de ligne balaye horizontalement ; une somme de colonne balaye verticalement.
The diagonal
- The main diagonal 主对角线 of a square grid is the cells where row == column.
- Loop one index:
for (int i = 0; i < g.length; i++) { ... g[i][i] ... } g[0][0], g[1][1], g[2][2], …— a single loop, both indices equal.- Useful for square grids (identity checks, board diagonals).
La diagonale
- La diagonale principale 主对角线 d'une grille carrée est formée des cellules où ligne == colonne.
- Parcourez un seul index :
for (int i = 0; i < g.length; i++) { ... g[i][i] ... } g[0][0], g[1][1], g[2][2], …— une seule boucle, les deux indices sont égaux.- Utile pour les grilles carrées (vérifications d'identité, diagonales de plateau).
Modifying cells
- To change a cell, use the indexed 带下标 nested loops and assign
g[r][c] = .... - The for-each version can't write back to the grid.
- Watch the two bounds — a wrong length reads or writes the wrong cell.
- Trace
[r][c]carefully, especially when rows and columns differ in count.
Modification des cellules
- Pour modifier une cellule, utilisez les boucles imbriquées 带下标 avec indexation et assignez
g[r][c] = .... - La version for-each ne peut pas écrire dans la grille.
- Surveillez les deux bornes — une mauvaise longueur lit ou écrit dans la mauvaise cellule.
- Tracez
[r][c]soigneusement, surtout lorsque le nombre de lignes et de colonnes diffère.
Decide which index to fix and which to loop — that's the difference between a row sum and a column sum. A row sum fixes r and loops c (g[r][c] across); a column sum fixes c and loops r (g[r][c] down). And modifying cells needs the indexed nested loops (g[r][c] = …); the for-each form can only read.
Décidez quel index fixer et lequel faire varier — c'est la différence entre une somme de ligne et une somme de colonne. Une somme de ligne fixe r et fait varier c (g[r][c] horizontalement) ; une somme de colonne fixe c et fait varier r (g[r][c] verticalement). Et modifier les cellules nécessite les boucles imbriquées indexées (g[r][c] = …) ; la forme for-each ne peut que lire.
Summing column 0 of a grid:
int sum = 0;for (int r = 0; r < g.length; r++) { sum += g[r][0]; }- Fixes column
0, loops down the rows — a column sum.
Somme de la colonne 0 d'une grille :
int sum = 0;for (int r = 0; r < g.length; r++) { sum += g[r][0]; }- Fixe la colonne
0, parcourt vers le bas les lignes — une somme de colonne.
2-D algorithms apply array patterns over nested loops: whole-grid sum/count/max/search, a row sum (fix r, loop c), a column sum (fix c, loop r), or the diagonal (g[i][i]). Modifying cells needs the indexed loops (g[r][c] = …); mind both bounds (g.length rows, g[0].length columns).
Les algorithmes 2-D appliquent des motifs de tableau sur des boucles imbriquées : somme/dénombrement/max/recherche sur toute la grille, une somme de ligne (fixez r, parcourrez c), une somme de colonne (fixez c, parcourrez r), ou la diagonale (g[i][i]). Modifier des cellules nécessite les boucles avec indexation (g[r][c] = …) ; surveillez les deux bornes (g.length lignes, g[0].length colonnes).
Summing column 0 · Somme de la colonne 0
g[0][0]=1, g[1][0]=4, g[2][0]=7: running sum 1, 5, 12. · g[0][0]=1, g[1][0]=4, g[2][0]=7 : somme courante 1, 5, 12.
To sum ONE row r, you... · Pour sommer UNE ligne r, vous...
A row sum fixes the row, loops the columns. · Une somme de ligne fixe la ligne, boucle les colonnes.
To sum ONE column c, you... · Pour sommer UNE colonne c, vous...
A column sum fixes the column, loops the rows. · Une somme de colonne fixe la colonne, boucle les lignes.
The main diagonal of a square grid is the cells where... · La diagonale principale d'une grille carrée est constituée des cellules où...
g[0][0], g[1][1], g[2][2] — one index, both equal. · g[0][0], g[1][1], g[2][2] — un seul index, les deux égaux.
The for-each form can modify (write to) grid cells. · La forme for-each peut modifier (écrire dans) les cellules de grid.
For-each is read-only; use indexed loops (g[r][c] = ...) to write. · For-each est lecture seule ; utilisez des boucles indexées (g[r][c] = ...) pour écrire.
Column 0 of {{1,2},{4,5},{7,8}} is 1, 4, 7. What is its sum? · Colonne 0 de {{1,2},{4,5},{7,8}} est 1, 4, 7. Quelle est sa somme ?
1 + 4 + 7 = 12.
Order the steps to sum column c. · Ordonnez les étapes pour sommer la colonne c.
Initialise, loop the rows, accumulate, return. · Initialiser, boucler les lignes, accumuler, retourner.