Stack a fronta

Anonim

Obě zásobníky a fronty jsou definovány sekvenční kolekcí objektů uspořádaných v určitém pořadí v datové struktuře založené na některých ekvivalentech v reálném životě. Obě jsou lineární datové struktury, které slouží k efektivnímu ukládání a načítání datových prvků, s výjimkou principu fungování. Stoh je uspořádaný seznam prvků, ve kterých jsou všechny vkládání a smazání provedeny na stejném konci, zatímco fronta je přesně opačný než zásobník, který je otevřený na obou koncích, což znamená, že jeden konec slouží k vkládání dat, zatímco druhý k odstranění data. Hlavním rozdílem mezi těmito dvěma je jejich pracovní mechanismus.

Co je Stack?

Stack je struktura lineárních dat používaná k organizaci dat určitým způsobem tak, aby mohla být efektivně využita. Stroje potřebují pokyny, aby splnily jednoduché i komplikované úkoly ve formě příkazů. Podobně mohou být data strukturována mnoha různými způsoby a jedna z nejúčinnějších datových struktur je stack. Jedná se o abstraktní strukturu dat, která se podobá fyzickému zásobníku, kde jsou objekty uspořádány v určitém pořadí, konkrétně založené na mechanismu LIFO (last in first-out), což znamená, že poslední přidaná položka má být přístupná jako první a naopak. Nejběžnější aplikací datové struktury stacků je zpětná vazba nebo vyhledávací algoritmus hloubky.

Co je fronta?

Fronta je také lineární datová struktura, poněkud podobná datové struktuře zásobníku, s výjimkou, že je otevřená na obou koncích. Je to postupná sbírka objektů, která se podobají frontě lidí. Na rozdíl od stohů je založen na principu FIFO (first-in-out-out), který znamená, že nejdřívější přidaná položka je přístupná nejprve a naopak. Ve frontě se používá jeden konec pro vložení položek a druhý konec pro odebrání položek. Stejně jako řada lidí jsou nové objekty umístěny v zadní a již obslužené entity jsou odstraněny zepředu. Na frontu jsou povoleny dvě operace: enqueue a dequeue. Enqueue se týká přidání položek na zadní straně a odstraňování prostředků odstraněním předmětů zepředu.

Rozdíl mezi zásobníkem a frontem

Význam zásobníku a fronty

Stack je základní datová struktura, abstraktní datový typ reprezentovaný lineární strukturou podobnou fyzickému zásobníku, kde může být objekt kdykoli přidán, ale může být odstraněn, který je přidán jako poslední. Jednoduše řečeno, vkládání a smazání objektů ve struktuře datových zásobníků probíhá na jednom konci, který je horní částí zásobníku. Fronta je poněkud podobná stackům, s výjimkou, že je otevřená na obou koncích - jeden konec pro vložení objektu a druhý pro odstranění objektu, což znamená, že objekty, které jsou uloženy nejdříve, jsou přístupné jako první.

Pracovní princip v zásobníku a frontě

Obě zásobníky a fronty jsou primitivní abstraktní datové typy v datové struktuře sloužily jako sbírka objektů, ve kterých jsou entity uloženy v určitém pořadí. Stoh je kontejner s objekty, ve kterých jsou entity uloženy a odebrány na základě principu fungování "poslední do prvního" (LIFO), což znamená, že objekty mohou být uloženy a obnoveny najednou. Druhá fronta je kolekce objektů, kde jsou entity uloženy a odebírány podle principu FIFO (first-in-out-out).

Struktura zásobníku a fronty

Název zásobníku odkazuje na analogii struktury, kde položky jsou umístěny na sebe jako stoh jako balíček sušenek. Jeden konec slouží k umisťování a odstranění objektů ze zásobníku, což usnadňuje výběr objektu z horní části a současně ztěžuje přístup k poslednímu objektu, který vyžaduje odebírání více položek po jednom od začátku. Fronta je opakem stacků, což znamená, že nové objekty jsou umístěny vzadu a odstraněny zepředu stejně jako kniha.

Operace

Existují dvě základní operace, které lze provést na svazcích: push, který v podstatě přidá položku do zásobníku a pokud je zásobník plný, je to podmínka přetečení a pop, který odebral nejnovější položku ze zásobníku a prázdný stoh, odkazuje na stav Podhodnocení. K přihrádkám, které vám umožňují přístup k položce v horní části bez úpravy zásobníku, je přidána další operace. Dva základní principy jsou spojeny s frontou: enqueue, což znamená přidání objektů dozadu a dequeu, který se vztahuje k odstranění objektů zepředu.

Aplikace Stack a Queue

Jednou z nejdůležitějších aplikací struktury datových zásobníků je vyhledávací algoritmus založený na hloubce, který je založen na myšlence na zpětnou vazbu, která se používá hlavně pro vyhledávání grafových nebo stromových datových struktur. Může být také použit pro kompilátor / operační systém pro zpracování volání funkcí nebo pro implementaci rekurzivních funkcí. Nejběžnější aplikací struktury dat fronty je naplánování CPU nebo plánování disků nebo operační výzkum. Reálným příkladem datové struktury fronty fronty je fronta samotných lidí, kde má být nejprve sloužena osoba, která stojí na prvním místě.

Stack vs. Queue: Srovnávací graf

Shrnutí Stack vs. Queue

Obě zásobníky a fronty jsou primitivní abstraktní datové struktury definované jako sbírka objektů uspořádaných v určitém pořadí v počítači, ale s různými pracovními principy. Zatímco obě se týkají organizace a ukládání dat, dělají to velmi odlišně.Stack je základní datová struktura založená na principu LIFO, který se také nazývá jako poslední na první, což znamená, že poslední položka má být přístupná nejprve nebo FILO, což znamená, že první položka je přístupná jako poslední. Naopak, front je založen na principu FIFI (first-in-out-out), který znamená, že nejdřívější položka má být přístupná jako první.