Part II · Linear Data Structures and Core Collections
8. Arrays and Dynamic Arrays
9 lessons•63 topics•Beginner / Intermediate
9 of 9 lessons published
8.013 animated
Array fundamentals
- Contiguous indexed storage
- Zero-based indexing
- Capacity vs length
- Read and write
- Iteration
- Memory layout
- Cache locality
8.029 animated
Core operations
- Access
- Update
- Insert
- Delete
- Search
- Append
- Shift elements
- Rotate
- Reverse
- Resize
- Copy
8.035 animated
Dynamic arrays
- Capacity expansion
- Geometric growth
- Amortized append
- Capacity vs size
- Internal buffer
- Shrinking
- Memory overhead
8.048 animated
One-dimensional patterns
- Min and max
- Second largest
- Kth distinct
- Move zeroes
- Remove duplicates
- Reverse in-place
- Rotate by k
- Rearrangement
8.057 animated
Subarrays and subsequences
- Contiguous subarray
- Subsequences
- Subsets
- Sum of subarrays
- Max/min subarray
- Kadane's algorithm
- Counting subarrays
8.067 animated
Prefix/suffix methods
- Prefix sums
- Equilibrium index
- Prefix products
- Product except self
- Prefix XOR
- Difference array
- Imos method
8.075 animated
Partitioning problems
- Dutch national flag
- Partition by pivot
- Alternate signs
- Stable vs unstable partition
- Three-way partition
8.085 animated
Array optimizations
- In-place cycle decomposition
- Index placement
- Cyclic sort
- Pigeonhole indexing
- Missing/duplicate numbers
8.092 animated
Java-specific arrays
- Arrays.copyOf
- Arrays.fill
- System.arraycopy
- Arrays.equals
- Deep arrays
- ArrayList resizing and amortization