LLD-Datenstrukturen im Designkontext: Heap - Eine Datenstruktur, die für kontinuierliche Entscheidungsfindung entwickelt wurde
LLD Data Structures in Design Context: Heap — A Data Structure Built for Continuous Decision Making
"Eine HashMap hilft Ihnen, das zu finden, was Sie bereits wissen." Ein Heap hilft Ihnen zu entscheiden, was als nächstes passieren soll. Im vorherigen Artikel haben wir festgestellt, dass es nicht bei jedem Softwareproblem darum geht, ein bestimmtes Objekt zu finden. Manchmal weiß das System bereits genau, wonach es sucht. Zu anderen Zeiten kennt das System die Antwort nicht im Voraus. Stattdessen muss es immer wieder Fragen beantworten wie: Welche Aufgabe sollte als nächstes ausgeführt werden? Welcher Fahrer sollte zugewiesen werden? Welcher Kunde sollte zuerst bedient werden? Welche Warnung ist die kritischste? Das sind grundsätzlich unterschiedliche Probleme. Anstatt ein Objekt abzurufen, trifft das System eine Entscheidung. Hier kommt ein Heap ins Spiel. Ein Haufen ist für Entscheidungen gebaut, nicht für Suchen Stellen Sie sich vor, Sie verwalten eine Krankenhaus-Notaufnahme. Die Patienten kommen den ganzen Tag ...
"Eine HashMap hilft Ihnen, das zu finden, was Sie bereits wissen." Ein Heap hilft Ihnen zu entscheiden, was als nächstes passieren soll. Im vorherigen Artikel haben wir festgestellt, dass es nicht bei jedem Softwareproblem darum geht, ein bestimmtes Objekt zu finden. Manchmal weiß das System bereits genau, wonach es sucht. Zu anderen Zeiten kennt das System die Antwort nicht im Voraus. Stattdessen muss es immer wieder Fragen beantworten wie: Welche Aufgabe sollte als nächstes ausgeführt werden? Welcher Fahrer sollte zugewiesen werden? Welcher Kunde sollte zuerst bedient werden? Welche Warnung ist die kritischste? Das sind grundsätzlich unterschiedliche Probleme. Anstatt ein Objekt abzurufen, trifft das System eine Entscheidung. Hier kommt ein Heap ins Spiel. Ein Haufen ist für Entscheidungen gebaut, nicht für Suchen Stellen Sie sich vor, Sie verwalten eine Krankenhaus-Notaufnahme. Die Patienten kommen den ganzen Tag über an. Sollten Ärzte Patienten in der Reihenfolge behandeln, in der sie angekommen sind? Wahrscheinlich nicht. Stattdessen stellen sie eine Frage. Beachten Sie etwas Wichtiges. Das Krankenhaus sucht nicht nach einem bestimmten Patienten. Es wählt den Patienten mit der höchsten Priorität. Ein Heap ist für genau diese Art von Problem konzipiert. Wenn Anfänger "Datenstruktur" hören, denken sie oft darüber nach, Daten zu speichern. Erfahrene Ingenieure denken anders. Sie fragen: "Welche Operation führt mein System wiederholt aus?" Wenn die Antwort lautet: Das ist ein Lookup-Problem. Aber wenn die Antwort lautet: Das ist ein Entscheidungsproblem. Ein Heap ist für eine kontinuierliche Entscheidungsfindung optimiert. Was genau ist ein Heap? Ein Heap ist eine Datenstruktur, die das wichtigste Element sofort verfügbar hält. Je nach System kann "am wichtigsten" verschiedene Dinge bedeuten. Zum Beispiel: Höchste Priorität Niedrigste Kosten Früheste Frist Höchste Punktzahl Nächster Fahrer Schnellstes Ticket Der Heap entscheidet nicht, was "wichtig" bedeutet. Ihre Geschäftsregeln tun es. Der Heap sorgt einfach dafür, dass der wichtigste Gegenstand immer leicht zugänglich ist. Denken Sie an einen Air Traffic Control Tower Stellen Sie sich Dutzende Flugzeuge vor, die sich einem Flughafen nähern. Der Kontrollturm ist nicht interessiert