𝗙𝗿𝗼𝗻𝘁𝗲𝗻𝗱 𝗟𝗶𝗻𝗲𝗮𝗿 𝗗𝗮𝘁𝗮 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝘀
Liniowe struktury danych porządkują elementy w sekwencji. Każdy element ma jednego poprzednika i jednego następcę.
Arrays Tablice są głównym narzędziem w JavaScript. Wykorzystują one ciągłą pamięć. Pozwala to na natychmiastowy dostęp do dowolnego elementu za pomocą jego indeksu.
- push: Dodaje element na koniec.
- unshift: Dodaje element na początek. Jest to operacja wolna, ponieważ każdy kolejny element musi przesunąć się o jedną pozycję w prawo.
- splice: Dodaje lub usuwa elementy na dowolnej pozycji. Metoda ta zmienia oryginalną tablicę. Nie jest to funkcja czysta.
Uwaga: Gdy tablica staje się zbyt duża, JavaScript musi przydzielić większy blok pamięci i skopiować do niego wszystkie dane. Wpływa to na wydajność.
Stacks Stos działa zgodnie z zasadą LIFO: Last In, First Out (Ostatni wszedł, pierwszy wyszedł). Wyobraź sobie stos talerzy. Dodajesz lub usuwasz elementy tylko ze szczytu.
- push: Dodaj na szczyt.
- pop: Usuń ze szczytu.
- peek: Sprawdź element na szczycie bez jego usuwania.
Queues Kolejka działa zgodnie z zasadą FIFO: First In, First Out (Pierwszy wszedł, pierwszy wyszedł). Wyobraź sobie kolejkę w sklepie.
- push: Dodaj na koniec.
- shift: Usuń z początku.
Ostrzeżenie: Używanie shift na tablicy jest wolne przy dużych zbiorach danych. Każdy element musi przesunąć się w lewo, aby wypełnić lukę. Przy dużych ilościach danych użyj zamiast tego listy powiązanej.
Linked Lists Lista powiązana składa się z węzłów. Każdy węzeł zawiera dane oraz wskaźnik do następnego węzła.
- Zalety: Dodawanie lub usuwanie węzłów jest szybkie, gdy już znajdziesz odpowiednie miejsce. Zmieniasz jedynie wskaźniki.
- Wady: Nie można przeskoczyć bezpośrednio do konkretnego indeksu. Musisz zacząć od głowy listy i podążać za wskaźnikami jeden po drugim. Jest to operacja wolna.
Comparison Summary:
- Arrays: