
Przy projektowaniu struktur w Javie nie ma możliwości użycia wskaźników tak jak jest to w języku C/C++. Zamiast tego mamy dostęp do referencji. Referencje pozwalają adresować tablice lub obiekty.
Większość algorytmów opiera się na złożonych strukturach danych. Java nie posiada takich rzeczy jak rekordy lub struktury znane z innych języków programowania. Dlatego od początku jesteśmy zmuszeni użyć model obiektowy.
Przejdźmy zatem do meritum czyli abstrakcyjnych typów danych. Do abstrakcyjnych typów danych zaliczymy: listy drzewa grafy. Oprócz tego że pozwalają one w sposób praktyczny realizować algorytmy i ich rozwiązania, umożliwiają również optymalizację pamięci programów – często niezbędną. Jako przykład możemy posłużyć się strukturą grafu – wydawałoby się że tablica kwadratowa będąca jednocześnie macierzą binarną sąsiedztwa grafu to rozwiązanie idealne. Nie jest tak jednak i budowa struktury w sposób nie dynamiczny wiąże się z niewspółmierną złożonością pamięci.
Przykładem dynamicznej strukury danych może być lista jednokierunkowa, która to pozwala na zbudowanej dowolnej ilości danych bez określenia z góry rozmiaru tak jak jest to np. w przypadku tablicy. Wyodrębnimy więc pola głowa ogon i następny, które to są referencjami oraz pole wartość, które jest danymi operowanymi przez nas.

Dodaj komentarz