Test na Zásobník (stack)
Zásobník (Stack): Kompletní Průvodce pro Studenty a Maturitu
Test: Zásobník (datová struktura), Zásobníky v informatice, Simulace datové struktury Zásobník
20 otázek
Otázka 1: Při inicializaci prázdného zásobníku implementovaného polem je proměnná 'vrchol' vždy nastavena na hodnotu 0.
A. Ano
B. Ne
Vysvětlení: Studijní materiály uvádějí, že při inicializaci prázdného zásobníku je proměnná 'vrchol' nastavena na hodnotu, která indikuje, že zásobník je prázdný, a jako příklad uvádí -1 (pokud pole začíná indexem 0). Není řečeno, že by 'vrchol' byl vždy nastaven na 0.
Otázka 2: Jaké tvrzení nejlépe popisuje chování a potenciální výsledek operace 'Push' při implementaci zásobníku pomocí pole?
A. Operace Push odstraní prvek z vrcholu zásobníku a následně se hodnota 'vrchol' sníží o 1.
B. Operace Push přidá nový prvek na vrchol zásobníku; hodnota 'vrchol' se nejprve zvýší o 1 a nový prvek se uloží na pozici 'pole[vrchol]'.
C. Pokud je zásobník prázdný a provede se operace Push, dojde k chybě podtečení (underflow).
D. Pokud je pole, které implementuje zásobník, již plné, operace Push by měla signalizovat chybu přetečení (overflow).
Vysvětlení: Operace 'Push' slouží k přidání nového prvku na vrchol zásobníku. Při implementaci polem se hodnota 'vrchol' nejprve zvýší o 1 a poté se nový prvek uloží na pozici 'pole[vrchol]'. Tvrzení, že 'Push' odstraní prvek a sníží 'vrchol', popisuje operaci 'Pop'. Dále, pokud je zásobník plný (tj. 'vrchol' dosáhl maximálního indexu pole), operace Push signalizuje chybu přetečení (overflow). Chyba podtečení (underflow) nastává při pokusu o odebrání prvku z prázdného zásobníku (operace 'Pop'), nikoli při 'Push'.
Otázka 3: Když kliknete na tlačítko „Zpět“ v prohlížeči, aktuální stránka je ponechána na zásobníku historie a zobrazí se jen předchozí stránka z jeho vrcholu.
A. Ano
B. Ne
Vysvětlení: Při kliknutí na „Zpět“ je aktuální stránka odebrána ze zásobníku historie prohlížeče a teprve poté se zobrazí předchozí stránka z jeho vrcholu. Není ponechána na zásobníku.
Otázka 4: Při implementaci zásobníku s pevnou velikostí je klíčové správně ošetřit situace přetečení a podtečení.
A. Ano
B. Ne
Vysvětlení: Při implementaci zásobníku s pevnou velikostí je klíčové správně ošetřit situace, kdy se pokusíte vložit prvek do plného zásobníku (přetečení) nebo odebrat prvek z prázdného zásobníku (podtečení). Ignorování těchto stavů může vést k chybám programu nebo neočekávanému chování.
Otázka 5: Které tvrzení správně popisuje rozdíl mezi principy LIFO (zásobník) a FIFO (fronta)?
A. U zásobníku je první vložený prvek první, který je odebrán, zatímco u fronty je poslední vložený prvek první, který je odebrán.
B. U zásobníku je poslední vložený prvek první, který je odebrán, zatímco u fronty je první vložený prvek první, který je odebrán.
C. Princip LIFO se týká fronty a princip FIFO zásobníku.
D. Oba principy, LIFO i FIFO, znamenají, že první vložený prvek je vždy první, který je odebrán.
Vysvětlení: Dle studijních materiálů je důležité si pamatovat, že u zásobníku (LIFO) je poslední vložený prvek první, který je odebrán. Naopak u fronty (FIFO) je první vložený prvek první, který je odebrán. Option 1 přesně vystihuje tento rozdíl.