Двумерные массивы используются для таких целей, как хранение изображений, задание графов и так далее. Но в большинстве языков программирования двумерный массив представляется в памяти как один большой одномерный массив размером КоличествоСтрок * КоличествоСтолбцов элементов, логически интерпретируемый как двумерный.
Иногда появляется необходимость в создании динамического двумерного массива.
Если попытаться решить эту задачу "в лоб", то при вставке и удалении элементов часто придётся передвигать практически все элементы массива. При большом размере массива это может привести к катастрофическому падению производительности.
Основным достоинством предлагаемой реализации динамического двумерного массива является то, что она обеспечивает более высокую скорость операций модификации.
ПРИМЕЧАНИЕ
Приведенный в статье способ представления двумерных массивов, как и сами двумерные массивы, хорош при условии высокой степени заполнения ячеек массива значащими данными или при относительно небольшом размере массива. Если возникает потребность в создании разреженного массива большого размера, лучше эмулировать его на базе хеш-таблицы, создавая из пары индексов один составной ключ. Хеш-таблица позволит более экономно расходовать память. При этом время доступа к элементам останется константным. - прим.ред.