# Patterns Requiring Advanced Knowledge of Arrays and Arrays of Arrays

Part IV contains programming patterns that require a more advanced understanding of arrays and an understanding of arrays of arrays (sometimes called multi-dimensional arrays). Specifically, this part of the book contains the following programming patterns:

**Subarrays.** A solution to problems in which calculations must be performed on all of the elements of an array between two indexes.

**Neighborhoods.** A solution to problems in which calculations must be performed on all of the elements of an array that are “near” a particular index.

Both of these patterns involve performing calculations on a subset of the elements in an array. They differ in the way the subset is defined.