Najpierw przyjrzymy się co to jest stos I co to jest kolejka indywidualnie, a następnie omówimy różnice między stosem a kolejką.
Co to jest stos?
Struktura danych. W przypadku tablicy możliwy jest dostęp losowy, czyli w dowolnym momencie można uzyskać dostęp do dowolnego elementu tablicy, natomiast w przypadku stosu możliwy jest jedynie dostęp sekwencyjny. Jest to kontener, który podlega zasadzie wstawiania i usuwania. Kieruje się zasadą LIFO (ostatnie weszło, pierwsze wyszło) w którym wstawianie i usuwanie odbywa się z jednej strony, zwanej a szczyt . W stosie możemy wstawiać elementy o podobnym typie danych, tzn. elementy różnych typów danych nie mogą być wstawione w tym samym stosie. Obie operacje są wykonywane w LIFO, tj. naciskać I Muzyka pop operacja.
statyczne słowo kluczowe w Javie
Na stosie można wykonać następujące operacje:
W stosie, szczyt jest wskaźnikiem używanym do śledzenia ostatniego wstawionego elementu. Aby zaimplementować stos, powinniśmy znać rozmiar stosu. Musimy przydzielić pamięć, aby uzyskać rozmiar stosu. Istnieją dwa sposoby implementacji stosu:
Jaka jest kolejka?
A
Podobieństwa między stosem a kolejką.
Istnieją dwa podobieństwa między stosem a kolejką:
Zarówno stos, jak i kolejka mają liniową strukturę danych, co oznacza, że elementy są przechowywane sekwencyjnie i dostępne w jednym przebiegu.
Zarówno stos, jak i kolejka mają elastyczny rozmiar, co oznacza, że mogą rosnąć i zmniejszać się zgodnie z wymaganiami w czasie wykonywania.
Różnice między stosem a kolejką
Poniżej przedstawiono różnice między stosem a kolejką:
Podstawa porównania | Stos | Kolejka |
---|---|---|
Zasada | Działa to zgodnie z zasadą LIFO (Last In First Out), która zakłada, że element wstawiany jako ostatni będzie pierwszym usuwanym. | Działa to zgodnie z zasadą FIFO (First In - First Out), która oznacza, że element dodany jako pierwszy będzie pierwszym elementem usuwanym z listy. |
Struktura | Ma tylko jeden koniec, z którego następuje zarówno wstawianie, jak i usuwanie, i ten koniec nazywany jest wierzchołkiem. | Ma dwa końce, tj. przód i tył. Przedni koniec służy do usuwania, a tylny koniec służy do wstawiania. |
Liczba używanych wskaźników | Zawiera tylko jeden wskaźnik, zwany górnym wskaźnikiem. Górny wskaźnik przechowuje adres ostatnio wstawionego lub najwyższego elementu stosu. | Zawiera dwa wskaźniki przedni i tylny. Wskaźnik przedni przechowuje adres pierwszego elementu, podczas gdy wskaźnik tylny przechowuje adres ostatniego elementu w kolejce. |
Wykonane operacje | Wykonuje dwie operacje: push i pop. Operacja push wstawia element na listę, a operacja pop usuwa element z listy. | Wykonuje głównie dwie operacje, kolejkowanie i usuwanie z kolejki. Operacja włączenia do kolejki powoduje wstawienie elementów do kolejki, natomiast operacja usunięcia z kolejki powoduje usunięcie elementów z kolejki. |
Badanie stanu pustego | Jeśli top==-1, co oznacza, że stos jest pusty. | Jeśli przód== -1 lub przód = tył+1, co oznacza, że kolejka jest pusta. |
Badanie pełnego stanu | Jeśli top== max-1, warunek ten oznacza, że stos jest pełny. | Jeśli rear==max-1, warunek ten oznacza, że stos jest pełny. |
Warianty | Nie ma żadnych typów. | Są trzy typy: kolejka priorytetowa, kolejka cykliczna i kolejka dwustronna. |
Realizacja | Ma prostszą implementację. | Ma stosunkowo złożoną implementację niż stos. |
Wyobrażanie sobie | Stos jest wizualizowany jako zbiór pionowy. | Kolejka jest wizualizowana jako kolekcja pozioma. |
polecenie seda