Struktury danych

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Czym są struktury danych?

Struktury danych to sposoby organizowania i przechowywania danych w programie tak, aby można było je sprawnie przetwarzać. Dobór struktury danych wpływa na szybkość działania aplikacji, zużycie pamięci oraz prostotę implementacji algorytmów.

Co brać pod uwagę przy wyborze struktury danych?

Najważniejsze aspekty to:

  • rodzaj danych - czy dane są liczbami, tekstem, obiektami, rekordami, relacjami,
  • liczba danych - mały zbiór można obsłużyć prosto, duży wymaga wydajniejszej organizacji,
  • częstotliwość operacji - inne struktury sprawdzają się przy częstym wyszukiwaniu, inne przy częstym dodawaniu lub usuwaniu,
  • złożoność obliczeniowa - należy analizować czas operacji, np. wyszukiwania, sortowania, wstawiania,
  • zużycie pamięci - niektóre struktury są szybkie, ale wymagają więcej pamięci,
  • sposób dostępu do danych - sekwencyjny, losowy, według klucza, FIFO, LIFO,
  • czytelność i łatwość utrzymania kodu.

Przykłady

  • Tablica/lista - dobra, gdy potrzebny jest szybki dostęp po indeksie.
  • Kolejka - dobra, gdy dane mają być obsługiwane w kolejności zgłoszeń.
  • Mapa/słownik - dobra, gdy dane wyszukuje się po kluczu, np. ID użytkownika.
  • Stos - dobry, gdy ostatnio dodany element ma być obsłużony jako pierwszy.

Wniosek egzaminacyjny

Przy tworzeniu struktury danych nie bierze się pod uwagę wyłącznie języka programowania ani samego sprzętu. Kluczowe są złożoność obróbki danych oraz ich efektywna organizacja, ponieważ mają bezpośredni wpływ na wydajność aplikacji.