When implementing a data structure, we must decide first whether to use an array or a linked list as the underlying organizational technique. For this reason, the array and the linked list are called foundational data structures. Chapter also covers multi-dimensional arrays and matrices.