/ / Sortieralgorithmen für List, Set, Map, Tree und Graph - Algorithmus, Datenstrukturen

Sortieralgorithmen für List, Set, Map, Tree und Graph - Algorithmus, Datenstrukturen

Die meisten Sortieralgorithmen (Einfügungssortierung, Blasensortierung, Schnellsortierung, Sortierreihenfolge usw.) wurden mit Liste erklärt. Haben wir keine spezifischen Sortieralgorithmen für Map, Graph, Tree?

Antworten:

0 für die Antwort № 1

Es ist möglich, aber ungewöhnlich.

Wenn Sie einen sortierten Baum haben wollen, bauen Sie ihn normalerweisein sortierter Reihenfolge. Es ist üblich, Knoten / Zweige in einem Baum neu anzuordnen. Wenn Sie eine binäre Suchstruktur erstellen, können Sie die Knoten neu anordnen, um sie im Gleichgewicht zu halten. Wenn Sie in einem Compiler mit einer abstrakten Syntaxstruktur arbeiten, können Sie Knoten neu anordnen, um die Berechnung zu optimieren.

Eine Map ist eine abstraktere Struktur, die mit einem binären Suchbaum, einer Überspringungsliste, einem B-Baum, einer Hash-Tabelle usw. implementiert werden könnte. Die meisten davon setzen eine bestimmte Reihenfolge der Inhalte voraus.

Ein Graph ist im Grunde eine Verallgemeinerung eines Baumes. Es ist sicherlich möglich, einige Arten der Sortierung auf einen Graphen anzuwenden (zB ist eine topologische Sortierung in einem Graphen eine recht routinierte Routine.) Sie verwenden einen Graphen, wenn die Daten eine eigene Struktur haben, und reduzieren sie auf eine geordnete Sequenz würde einen großen Teil der Daten in der Grafik verlieren.

Zum Beispiel könnte eine typische Verwendung eines Graphen seinstellen Bahnhöfe als Knoten dar und bilden Verbindungen zwischen diesen Stationen als Bögen im Graphen. Sie können dann den Graphen durchgehen, um Wege zu finden, wie Sie von einer Stadt zu einer anderen über diese Bahnverbindungen reisen können.

Es könnte sinnvoll sein, eine Teilmenge von Daten zu extrahierenaus dem Graphen (z. B. Namen von Städten) und sortieren diese Daten in eine Sequenz, wie zum Beispiel Abrufen einer Liste von Abfahrten von einer bestimmten Station, sortiert nach Abfahrtszeit und Auflisten des Ziels von jedem. Sie möchten vielleicht auch eine sortierte Liste von (wichtigen) Zielen und Abfahrtszeiten für jedes einzelne erstellen.

Diese würden dann wirklich Daten extrahierensortierte die extrahierten Daten, sortierte den Graphen selbst nicht. Der ganze Grund (oder zumindest der grßte Grund dafür), dass der Graph überhaupt als Graph erstellt wird, liegt darin, dass die Daten, die er enthält, nicht leicht auf eine einzige Liste in einer bestimmten Reihenfolge reduziert werden können.