Co to jest struktura danych macierzy?
Struktura danych tablicowych to metoda przechowywania podobnych typów danych w sekwencji liniowej. Ta sekwencja liniowa umożliwia bardzo szybki i wydajny dostęp do dowolnej części tablicy. Każdy kawałek danych w tablicy znajduje się w pozycji numerowanej zwany indeksem. Rzeczywiste dane znajdujące się w danym indeksie nazywane są elementem. Tablice są szeroko stosowane w większości języków programowania komputerowego i stanowią podstawę wielu innych typów struktur danych.
Jedną z głównych cech struktury danych tablicowych jest sposób ich przechowywania w pamięci. W większości przypadków tablice są przechowywane w sekwencji liniowej. Inne struktury danych, takie jak listy połączone, może mieć każdy element przechowywany w dowolnym losowym punkcie pamięci rozproszonym po całym obszarze dostępnej przestrzeni. Tablica jest przechowywana w sekwencji, dzięki czemu można wykonać szereg wydajnych operacji, aby szybko znaleźć adres indeksu w pamięci i pobierz tam dane.
Istnieją różne sposoby deklarowania struktury danych tablicowych. Najprostszą formą jest tablica jednowymiarowa, która zaczyna się od indeksu zero i może mieć tyle indeksów, ile potrzeba. Dwuwymiarowa tablica ma dwa indeksy, do których istnieją odniesienia, podobne do szerokości i wysokości używanych do składania współrzędnych na siatce. Tablice wielowymiarowe mogą mieć trzy lub więcej indeksów w tablicy. Chociaż tablica jest dostępna przy więcej niż jednym indeksie danych dane są nadal przechowywane liniowo w pamięci.
Tablice różnią się od innych struktur danych, takich jak listy połączone. Lista połączona jest strukturą dynamiczną, która może się powiększać i zmniejszać w miarę działania programu. W większości tablice są statyczne i ich rozmiar nie może być zmieniane podczas wykonywania. Oznacza to, że tablica ogranicza liczbę elementów, które mogą być przechowywane w czasie wykonywania. I odwrotnie, tablica umożliwia całkowicie losowy dostęp do elementów, które zawiera, w przeciwieństwie do połączonej listy które należy pokonywać kolejno, aby dotrzeć do elementów na środku i na końcu.
Szybkość struktury danych tablicowych sprawia, że idealnie nadaje się do stosowania w innych, bardziej złożonych typach danych, takich jak tabele skrótów. Przewidywalności adresów pamięci elementów można również użyć do implementacji bardzo szybkich algorytmów łączenia tablic które mogą szybko przenosić dane. Jest to szczególnie przydatne w operacjach sortowania, takich jak sortowanie bąbelkowe, które doskonale nadają się do użycia z macierzami.