Co to jest struktura danych?
Struktura danych to koncepcja informatyczna, która odnosi się do określonej metody gromadzenia i organizowania informacji. Wszystkie struktury danych wykorzystują informacje o tym, gdzie dany element danych znajduje się w pamięci komputera, aby uzyskać dostęp do tych danych i połączyć je z innymi częściami danych. Struktury danych ustanawiają jeden z wielu różnych rodzajów relacji między poszczególnymi informacjami. Różne typy struktury danych są bardziej wydajne do różnych celów, a trudność kodowania różni się znacznie w zależności od typu struktury danych.
Tablice należą do najprostszych struktur danych, ale są jednak bardzo potężnymi narzędziami do organizowania informacji. W tablicy elementom przypisywane są sekwencyjne adresy pamięci, co pozwala bardzo szybko ustalić adres pamięci dowolnego elementu w tablicy za pomocą prostych obliczeń matematycznych, co jest kluczową zaletą. Tablice można traktować jako istniejące w dowolnej liczbie wymiarów. Tablica jednowymiarowa może być konceptualizowana jako lista, tablica dwuwymiarowa jako tabela, a tablica trójwymiarowa jako sześcian poszczególnych komórek. Mogą istnieć również tablice o więcej niż trzech wymiarach.
Listy połączone to kolejny prosty, ale bardzo ważny typ struktury danych. Na połączonej liście każdy węzeł składa się ze zmiennej zawierającej zarówno rzeczywiste dane, jak i informacje identyfikujące następny element na liście. W ten sposób można przejść listę połączoną, o ile znany jest adres pierwszego węzła. Ten typ struktury danych jest wszechstronny, ponieważ umożliwia dynamiczny rozwój, ponieważ nowe węzły można łatwo przypisać w dowolnym momencie. Dodanie zmiennej zawierającej położenie poprzedniego węzła na liście umożliwia przechodzenie tego typu struktury danych w dowolnym kierunku.
Drzewa porządkują węzły hierarchicznie, zaczynając od węzła głównego i schodząc przez wiele warstw węzłów, aż wszystkie niezbędne dane zostaną uwzględnione w strukturze. Zazwyczaj elementy w drzewie są sortowane w pewien sposób. Drzewa mogą implementować sortowanie i mogą potencjalnie zapewnić znacznie szybszy dostęp do przechowywanych danych z tego powodu, ponieważ każde rozgałęzienie eliminuje całe zestawienie informacji, które należałoby posortować na połączonej liście.
Tabele skrótów służą do określania adresu pamięci, w którym dany fragment danych ma być przechowywany, za pomocą równania do przekształcenia tych danych w adres pamięci. Mogą być bardzo wydajną strukturą do przechowywania i pobierania danych z tablicy.
Wszystkie struktury danych zostały zaprojektowane w celu zmniejszenia liczby instrukcji, które komputer musi wykonać, aby zlokalizować określoną informację. Różne typy danych nadają się do różnych typów struktur danych, ale większość współczesnych języków programowania oferuje obsługę szerokiej gamy struktur danych lub zapewnia narzędzia umożliwiające programistom kodowanie własnych struktur danych.