Forskel Mellem stak og kø
Stack vs Queue
Stack en ordnet liste, hvor indsættelse og sletning af listeposter kun kan ske i den ene ende kaldet toppen. På grund af denne grund betragtes stakken som en sidste struktur (LIFO). Kø er også en ordnet liste, hvor indsættelse af lister er lavet i den ene ende kaldet den bageste, og sletningen af genstande er lavet i den anden ende kaldet forsiden. Denne indsætnings- og sletningsmekanisme gør køen til en første i første ud (FIFO) datastruktur.
Hvad er Stack?
Som tidligere nævnt er stakken en datastruktur, hvori elementer tilføjes og fjernes fra kun den ene ende kaldet toppen. Stabler tillader kun to grundlæggende operationer kaldet push og pop. Trykbetjeningen tilføjer et nyt element til toppen af stakken. Popoperationen fjerner et element fra toppen af stakken. Hvis stakken allerede er fuld, betragtes det som en stakoverløb, når en push-operation udføres. Hvis en popoperation udføres på en allerede tom stak, betragtes den som en stabelunderstrømning. På grund af det lille antal operationer, der kunne udføres på en stak, betragtes det som en begrænset datastruktur. Desuden er det klart, at de elementer, der blev tilføjet sidst i stakken, ud fra stakken først efter den måde, hvorpå push og pop-operationerne er defineret. Derfor betragtes stakken som en LIFO datastruktur.
Hvad er kø?
I en kø tilføjes elementer fra bagsiden af køen og fjernes fra køens forside. Da de elementer, der tilføjes først, fjernes fra køen først, opretholder den FIFO-ordren. På grund af denne rækkefølge for at tilføje og fjerne elementer, repræsenterer køen ideen om en checklinje. Generelle operationer understøttet af en kø er en-kø og de-kø-operationer. En-kø-betjening vil tilføje et element bag på køen, mens afkø-operationen fjerner et element fra køens forside. Generelt har køer ikke en grænse for antallet af elementer, der kan tilføjes til køen udover hukommelsesbegrænsningerne.
Hvad er forskellen mellem Stack and Queue?
Selvom både stablerne og køerne er sorter af ordnede lister, har de nogle vigtige forskelle. I stabler kan tilføjelse eller sletning af genstande kun foretages fra den ene ende kaldet toppen, mens i køer tilføjes elementer er færdige fra den ene ende kaldes bagsiden, og sletning af elementer gøres fra den anden ende kaldet fronten. I en stak fjernes elementer, der er sidst til stakken, først fra stakken. Derfor betragtes stakken som en LIFO datastruktur. I køer fjernes først de første elementer, der tilføjes først. Derfor betragtes kø som en FIFO datastruktur.
Relateret link:
Forskel mellem Stack og Heap