Strona główna › Pytania INF.04 › Pytanie 626
INF.04 · pytanie #626
Jaką strukturę danych można zrealizować, korzystając jedynie z wymienionych metod? <br><br> <table><tr><td>push(arg) – dodaje element pop() – usuwa ostatnio dodany element peek() – zwraca ostatnio dodany element bez usuwania isEmpty() – sprawdza czy istnieją dane w strukturze</td></tr></table>
- Akolejka FIFO
- Btablica
- Cstos
- Ddrzewo binarne
Poprawna odpowiedź: C. stos
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Zestaw metod przedstawionych w pytaniu – czyli push, pop, peek oraz isEmpty – jednoznacznie wskazuje na strukturę danych zwaną stos (stack). To jest taki bardzo charakterystyczny „magazyn”, gdzie zawsze mamy do czynienia z zasadą LIFO, czyli Last In, First Out. Oznacza to, że ostatni element, który dodaliśmy metodą push, będzie tym pierwszym, który usuniemy przez pop. Peek natomiast pozwala tylko podejrzeć, co jest na górze stosu, ale niczego nie usuwa. isEmpty z kolei daje nam szybki sposób sprawdzenia, czy na stosie w ogóle coś jeszcze zostało. W praktyce, stosy są niezbędne w wielu algorytmach i strukturach programistycznych – na przykład podczas wywołań rekurencyjnych funkcji (sam system operacyjny używa stosu do obsługi wywołań procedur), przy obsłudze nawiasów w kompilatorach czy podczas implementacji algorytmu DFS (Depth-First Search) w grafach. Moim zdaniem, nawet jeśli na początku wydaje się, że stos nie jest tak „potężny” jak inne struktury, to jego prostota jest właśnie największym atutem i dlatego jest tak często wykorzystywany w praktyce. Branżowe standardy, na przykład w językach takich jak Java czy C#, bezpośrednio udostępniają gotowe klasy Stack, które właśnie implementują dokładnie te metody – to pokazuje, jak fundamentalna jest ta struktura. Pewnie warto też pamiętać, że stosy mają swoje ograniczenia (np. nie nadadzą się do kolejkowania zadań), ale tam gdzie trzeba działać LIFO, są niezastąpione.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.