wake-up-neo.net

Verwendung der doppelt verknüpften Liste im wirklichen Leben

Wann ist die Verwendung einer doppelt verknüpften Liste die beste Option im realen Szenario? Kann jemand eine praktische Verwendung vorschlagen?

6
Tanvi Patel

In vielen Betriebssystemen verwaltet der Thread-Scheduler (die Sache, die die Prozesse zu welchen Zeiten ausführen muss) eine doppelt verknüpfte Liste aller zu einem Zeitpunkt laufenden Prozesse. Dies macht es einfach, einen Prozess aus einer Warteschlange (z. B. die Liste der aktiven Prozesse, die eine Ausführung erfordern) in eine andere Warteschlange zu verschieben (z. B. die Liste der Prozesse, die blockiert sind und darauf warten, dass etwas freigegeben wird). Die Verwendung einer doppelt verknüpften Liste ermöglicht es hier, dass jede dieser Spleiße und Umverdrahtungen in der Zeit O(1) und ohne Speicherzuordnung ausgeführt wird, und die Struktur der doppelt verknüpften Liste eignet sich gut für die Implementierung des Schedulers Verwenden von Warteschlangen (wo Sie nur Dinge von vorne herausziehen müssen.)

7
templatetypedef

Hinzufügen zur Antwort von templatetypedef.

Sie erwägen folgende Anwendungen:

- A music player which has next and prev buttons.
- Represent a deck of cards in a game.
- The browser cache which allows you to hit the BACK-FORWARD pages.
- Applications that have a Most Recently Used list (a linked list of file names)
- Undo-Redo functionality

Jede Anwendung, bei der Sie beide Seiten von einem bestimmten Punkt aus durchqueren möchten.

15
sam_k

Eine doppelt verknüpfte Liste wird beim Erstellen eines MRU/LRU-Cache (Most/Least Recent Used) verwendet. Die Implementierung mithilfe von HashMap und DoublyLinkedList finden Sie im Link https://www.geeksforgeeks.org/design-a-data-structure-for-lru-cache/

Eine der Hauptanwendungen des LRU-Caches besteht darin, dass er in Fällen verwendet wird, in denen die meisten/am wenigsten kürzlich verwendeten Elemente verwendet werden, wie im Fall des Android-Telefon-Startbildschirms, um die zuletzt verwendeten Apps zu speichern. Hier ist ein Link, der die Anwendung erläutert

http://www.primarydigit.com/blog/an-application-of-lru-least-recently-used-data-structure-your-phones-home-screen -

Hoffe das hilft!

0
Aarish Ramesh