- •Питання до екзамену
- •1.Загальні поняття структур даних і алгоритмів
- •2.Інформація та її представлення в пам’яті
- •3.Зберігання інформації
- •5.Системи числення
- •6.Операції над структурами даних
- •7.Концепція типу даних
- •10.Поняття структури даних типу «масив»
- •11. Поняття структури даних типу «запис»
- •16.Алгебраїчний підхід до операції із структурами
- •17.Методи пошуку в масиві
- •30.Сортування за допомогою вибору
- •31.Сортування за допомогою простого обміну (бульбашкового сортування)
- •Сортування методом обміну
- •35.Метод простого злиття
- •60. Зберігання багатовимірних масивів
60. Зберігання багатовимірних масивів
Збереження одновимірного масиву в пам'яті є тривіальним, тому що сама пам'ять комп'ютера є одновимірним масивом. Для збереження багатовимірного масиву ситуація ускладнюється. Припустимо, що ми хочемо зберігати двовимірний масив наступного виду:
Найпоширеніші способи його організації в пам'яті такі:
Розташування «рядок за рядком». Це найбільш уживаний на сьогодні спосіб, який зустрічається у більшості мов програмування.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Розташування «стовпчик за стовпчиком». Такий метод розташування масивів використовується, зокрема, в мові програмування Fortran
1 |
4 |
7 |
2 |
5 |
8 |
3 |
6 |
9 |
Масив з масивів. Багатовимірні масиви репрезентуються одновимірними масивами вказівників на одновимірні масиви. Розташування може бути як «рядок за рядком» так і «стовпчик за стовпчиком».
Перші два способи дозволяють розміщувати дані компактніше (мають більшу локальність), однак це одночасно і обмеження: такі масиви мають бути «прямокутними», тобто кожний рядок повинен містити однакову кількість елементів. Розташування «масив з масивів», з іншого боку, не дуже ефективне щодо використання пам'яті (необхідно зберігати додатково інформацію про вказівники), але знімає обмеження на «прямокутність» масиву.
