Kan vi implementere stak og kø ved hjælp af linket liste?
Kan vi implementere stak og kø ved hjælp af linket liste?

Video: Kan vi implementere stak og kø ved hjælp af linket liste?

Video: Kan vi implementere stak og kø ved hjælp af linket liste?
Video: 4.3 Queue Implementation using Linked List in C | Data Structure Tutorials 2024, April
Anonim

Hver node har en værdi og en link til næste knudepunkt. To populære applikationer af linket liste er stak og kø . Kø : Kø er en datastruktur, der bruger First in First out (FIFO) princippet. Kø kan være implementeret ved stak , array og linket liste.

Tilsvarende, kan vi implementere kø ved hjælp af linket liste?

EN kø kan nemt være implementeret vha -en linket liste . I enkeltvis linket liste implementering , kødannelse sker ved halen af liste og fjernelse af varer sker i spidsen for liste . Vi er nødt til at opretholde pointeren til den sidste node for at bevare O(1) effektiviteten til indsættelse.

Efterfølgende er spørgsmålet, er en linket liste en stak? EN stak er en datastruktur med en bestemt grænseflade og adfærd: elementer kan tilføjes til stak med "push" og fjernet med "pop", og de fjernes i Last-In-First-Out rækkefølge. EN linket liste er en datastruktur med et vist forhold mellem elementer i hukommelsen.

Med hensyn til dette, kan vi implementere stak ved hjælp af kø?

Implementere -en stak ved hjælp af enkelt kø . Vi er givet kø datastruktur, er opgaven at implementere stak ved hjælp af kun givet kø datastruktur. Denne løsning forudsætter det vi kan finde størrelse på kø på ethvert tidspunkt. Ideen er at holde det nyindsatte element altid bagerst kø , holder rækkefølgen af tidligere elementer den samme.

Hvad er applikationerne for kø?

Anvendelser af kø Betjening af anmodninger på en enkelt delt ressource, såsom en printer, CPU-opgaveplanlægning osv. I det virkelige liv, Call Center-telefonsystemer bruger køer at holde folk, der ringer til dem, i en ordre, indtil en servicerepræsentant er ledig. Håndtering af afbrydelser i realtidssystemer.

Anbefalede: