Podem implementar la pila i la cua mitjançant una llista enllaçada?
Podem implementar la pila i la cua mitjançant una llista enllaçada?

Vídeo: Podem implementar la pila i la cua mitjançant una llista enllaçada?

Vídeo: Podem implementar la pila i la cua mitjançant una llista enllaçada?
Vídeo: CS50 2013 - Week 8 2024, De novembre
Anonim

Cada node té un valor i a enllaç al següent node. Dues aplicacions populars de llista enllaçada són apilar i fer cua . Cua : Cua és una estructura de dades que utilitza el principi First in First Out (FIFO). La cua pot ser implementat per pila , matriu i llista enllaçada.

En conseqüència, podem implementar la cua mitjançant una llista enllaçada?

A cua pot ser fàcilment implementat utilitzant a llista enllaçada . En solitari implementació de la llista enllaçada , la cua passa a la cua del llista i la sortida de la cua d'elements es produeix al capdavant del llista . Hem de mantenir el punter a l'últim node per mantenir l'eficiència O(1) per a la inserció.

Posteriorment, la pregunta és: una llista enllaçada és una pila? A pila és una estructura de dades amb una interfície i un comportament determinats: es poden afegir elements al pila amb "push" i s'eliminen amb "pop", i s'eliminen en ordre Last-In-First-Out. A llista enllaçada és una estructura de dades amb una certa relació entre els elements de la memòria.

Respecte a això, podem implementar la pila mitjançant la cua?

Implementar a apilar utilitzant solter cua . Nosaltres són donats cua estructura de dades, la tasca és implementar la pila utilitzant només donat cua estructura de dades. Aquesta solució suposa que podem trobar la mida de cua en qualsevol moment. La idea és mantenir l'element nou inserit sempre al darrere cua , mantenint l'ordre dels elements anteriors igual.

Quines són les aplicacions de la cua?

Aplicacions de la Cua Atendre sol·licituds en un sol recurs compartit, com ara una impressora, programació de tasques de la CPU, etc. En un escenari de la vida real, els sistemes telefònics del centre de trucades utilitza cues per retenir les persones que els truquin en una ordre, fins que un representant del servei estigui lliure. Gestió d'interrupcions en sistemes en temps real.

Recomanat: