Mindmap-Galerie Datenstruktur
Mindmap des Grundgerüsts der Datenstruktur für professionelle Postgraduierten-Aufnahmeprüfungskurse, einschließlich linearer Tabellen, Stapel und Warteschlangen, Bäume und Binärbäume, Diagramme, Suche, Sortierung usw. Sie können es bei Bedarf abholen.
Bearbeitet um 2021-11-23 20:04:58Welche Preismethoden gibt es für Projektunteraufträge im Rahmen des EPC-Generalvertragsmodells? EPC (Engineering, Procurement, Construction) bedeutet, dass der Generalunternehmer für den gesamten Prozess der Planung, Beschaffung, Konstruktion und Installation des Projekts verantwortlich ist und für die Testbetriebsdienste verantwortlich ist.
Die Wissenspunkte, die Java-Ingenieure in jeder Phase beherrschen müssen, werden ausführlich vorgestellt und das Wissen ist umfassend. Ich hoffe, es kann für alle hilfreich sein.
Das Software-Anforderungs-Engineering ist ein Schlüsselkapitel für Systemanalytiker. Zu den Kapiteln „Anforderungserhebung“ und „Anforderungsanalyse“ gehören häufig Veröffentlichungen.
Welche Preismethoden gibt es für Projektunteraufträge im Rahmen des EPC-Generalvertragsmodells? EPC (Engineering, Procurement, Construction) bedeutet, dass der Generalunternehmer für den gesamten Prozess der Planung, Beschaffung, Konstruktion und Installation des Projekts verantwortlich ist und für die Testbetriebsdienste verantwortlich ist.
Die Wissenspunkte, die Java-Ingenieure in jeder Phase beherrschen müssen, werden ausführlich vorgestellt und das Wissen ist umfassend. Ich hoffe, es kann für alle hilfreich sein.
Das Software-Anforderungs-Engineering ist ein Schlüsselkapitel für Systemanalytiker. Zu den Kapiteln „Anforderungserhebung“ und „Anforderungsanalyse“ gehören häufig Veröffentlichungen.
Nummer entsprechend Knoten Struktur Und Berechnung Gesetz
Einführung
Daten
Datenelemente sind die Grundeinheiten von Daten Ein Datenelement ist die kleinste Dateneinheit Ein Datenobjekt ist eine Sammlung von Datenelementen mit denselben Eigenschaften
Algorithmus
Wichtige Merkmale: Endlichkeit, Gewissheit, Machbarkeit, Input und Output
Bewertung der Vor- und Nachteile: Korrektheit, Lesbarkeit, Robustheit, Effizienz
Zeitkomplexität
Raumkomplexität
linearer Tisch
sequentielle Speicherung
Sequenztabelle
Zufällige Speicherung, aber das Einfügen und Löschen erfordert das Verschieben einer großen Datenmenge
Kettenspeicher
verlinkte Liste
statische verknüpfte Liste
zirkuläre verknüpfte Liste
Doppelt verknüpfte Liste
Einzelliste
Die Speicherverteilung kann diskontinuierlich sein Einfach einzufügen und zu löschen Die Suche muss an einem Ende beginnen
besonders
Stapel
Zuerst rein, zuletzt raus, die Eingabe und Ausgabe von Elementen erfolgt am selben Ende
Warteschlange
First in, first out, Eingabe am Ende der Warteschlange, Ausgabe am Anfang der Warteschlange
Besonderheit
Mit Ausnahme des ersten und letzten Datenelements hat jedes Datenelement einen eindeutigen Vorgänger und Nachfolger
String, Array, verallgemeinerte Liste
Zeichenfolge
Speicherstruktur
Sequentielle Speicherung und verkettete Speicherung
Mustervergleichsalgorithmus
BF-Algorithmus
KMP-Algorithmus
Das nächste Array muss gefunden werden
Array
Komprimierte Speicherung von Matrizen
dichte Matrix
Zeilenpriorität
Spalte zuerst
spärliche Matrix
Triade
verallgemeinerte Tabelle
Datenelemente können Atome oder verallgemeinerte Tabellen sein
Bild
Basiskonzept
Nebenhandlung
Angenommen, es gibt zwei Graphen. Die Eckpunkte und Kanten des einen Graphen sind eine Teilmenge der Eckpunkte und Kanten des anderen Graphen.
Gerichtete und ungerichtete vollständige Graphen
Ein ungerichteter Graph hat n(n-1)/2 Kanten und ein gerichteter Graph hat n(n-1) Bögen.
spärliches Diagramm
Sehr wenige Kanten oder Bögen
dichtes Diagramm
Es gibt viele Kanten oder Bögen
Rechts
Aussagekräftige Werte an den Seiten. Das persönliche Verständnis kann mit dem Recht des Huffman-Baums verglichen werden
benachbarter Punkt
Zwei durch eine Kante verbundene Punkte sind zueinander benachbarte Punkte. Die Kante ist mit dem Scheitelpunkt verbunden und die Kante ist mit dem Scheitelpunkt verknüpft.
Out (in) Grad
Bei gerichteten Graphen ist der Punkt der In-Grad und der Punkt der Out-Grad.
Weg
Schleife
Ein Pfad mit denselben Start- und Endpunkten
Speicherstruktur
Adjazenzmatrix
Eine Matrix, die die Adjazenzbeziehung zwischen Scheitelpunkten darstellt
Adjazenzliste
Eine verknüpfte Speicherstruktur eines Diagramms, die eine einzelne verknüpfte Liste für jeden Scheitelpunkt im Diagramm erstellt und benachbarte Scheitelpunkte in der verknüpften Liste platziert
vernetzte Liste
Es handelt sich um eine weitere Kettenspeicherstruktur eines gerichteten Graphen
Tail-Domäne
Header-Feld
Kettendomäne
Zeigt auf den nächsten Bogen-Hlink mit demselben Bogenkopf
Zeigt auf einen anderen Bogentlink mit demselben Bogenende
Verwandte Informationen
Adjazenz-Mehrfachliste
Es handelt sich um eine weitere Kettenspeicherstruktur eines ungerichteten Graphen
Traverse
Tiefe zuerst
Zugriff von einem Scheitelpunkt aus Suchen Sie den ersten nicht besuchten Nachbarpunkt des gerade besuchten Scheitelpunkts und wiederholen Sie die Ausführung Gibt den zuvor besuchten Scheitelpunkt zurück, der noch nicht besuchte benachbarte Scheitelpunkte hat, und findet den nächsten nicht besuchten benachbarten Scheitelpunkt.
Breite zuerst
Zugriff von einem Scheitelpunkt aus Besuchen Sie nacheinander jeden nicht besuchten benachbarten Scheitelpunkt dieses Scheitelpunkts Besuchen Sie ausgehend von diesen benachbarten Punkten nacheinander deren benachbarte Punkte.
Algorithmus
minimaler Spannbaum
Prims Algorithmus
Kruskals Algorithmus
kürzester Weg
Dijkstras Algorithmus
Freuds Algorithmus
topologische Sortierung
Besuchen Sie in einem gerichteten Graphen einen Scheitelpunkt ohne Vorgänger und geben Sie ihn aus Löschen Sie diesen Scheitelpunkt. Wiederholen Sie die oben genannten Vorgänge
Kritischer Pfad
Der längste gewichtete Pfad von einem Punkt mit Grad 0 (Quellenpunkt) zum Senkenpunkt
Baum
Grundbegriffe
Knoten
eine unabhängige Einheit im Baum
Grad des Knotens
Die Anzahl der Teilbäume, die ein Knoten hat, wird als Grad des Knotens bezeichnet
Blatt
Knoten mit dem Grad 0 werden Blätter oder Endknoten genannt
Baumtiefe
Die maximale Knotenebene im Baum wird als Tiefe oder Höhe des Baums bezeichnet
Grad des Baumes
Der Grad eines Baums ist der maximale Wert des Grades jedes Knotens im Baum
Eltern, Kinder, Brüder, Vorfahren, Nachkommen, Cousins
Binärbaum
vollständiger Binärbaum
Ein binärer Baum der Tiefe k, der 2∧k-1 Knoten enthält
Merkmale
Die Anzahl der Knoten auf jeder Ebene ist die maximale Anzahl von Knoten
vollständiger Binärbaum
Binärbaum mit Tiefe k und n Knoten Ein vollständiger Binärbaum wird genau dann als vollständiger Binärbaum bezeichnet, wenn jeder Knoten einem von 1 bis n nummerierten Knoten in einem vollständigen Binärbaum der Tiefe k entspricht.
Merkmale
Blattknoten können nur auf den beiden größten Ebenen auftreten.
Für jeden Knoten beträgt die maximale Ebene seiner Nachkommen unter dem rechten Zweig L, dann muss die maximale Ebene seiner Nachkommen unter dem linken Zweig L oder L 1 sein
Allgemeiner Binärbaum
Hinweis Binärbaum
Die aus dieser Knotenstruktur zusammengesetzte binäre verknüpfte Liste wird als Speicherstruktur des Binärbaums verwendet und als verknüpfte Hinweisliste bezeichnet. Die Zeiger, die auf den Vorgänger und Nachfolger des Knotens zeigen, werden als Hinweise bezeichnet ein Hinweis-Binärbaum.
typedef struct BiThrNode { TElemType-Daten; struct BiThrNode *lchild,*rchild; int LTag ,RTag; }BiThrNode,*BiThrTree;
Traverse
Durchquerung vorbestellen
Inorder-Durchquerung
Postorder-Durchquerung
Die sogenannten ersten, mittleren und letzten beziehen sich auf den Zeitpunkt des Zugriffs auf den Wurzelknoten. Beim Durchlaufen eines Binärbaums müssen die linken und rechten Teilbäume und Wurzelknoten in einer bestimmten Reihenfolge aufgerufen werden.
Wald
ist eine Menge von m (m≥0) disjunkten Bäumen
Huffman-Baum
Basiskonzept
Weg
Die Zweige von einem Knoten zum anderen im Baum bilden den Pfad zwischen den beiden Knoten.
Pfadlänge
Pfadlänge Die Anzahl der Zweige auf einem Pfad wird als Pfadlänge bezeichnet
Baumpfadlänge
Die Summe der Pfadlängen von der Wurzel des Baums zu jedem Knoten
Rechts
Eine einer Entität zugewiesene Größe ist eine numerische Beschreibung eines oder mehrerer Attribute der Entität. Mein persönliches Verständnis ist der Grad der Wichtigkeit: Je größer der Wert, desto wichtiger ist er.
Algorithmus
Die Struktur des Huffman-Baums
Konstruieren Sie bei gegebenen n Gewichten n Binärbäume mit nur Wurzelknoten, um einen Wald zu bilden. Wählen Sie die beiden Bäume mit den kleinsten Gewichten aus der Gesamtstruktur als linken und rechten Teilbaum aus, um einen neuen Binärbaum zu erstellen. Das Gewicht des Wurzelknotens des neuen Binärbaums ist die Summe der Gewichte der beiden Teilbäume Fügen Sie den Baum der Gesamtstruktur hinzu und löschen Sie ihn als zwei Teilbäume Wiederholen Sie dies, bis nur noch ein Baum im Wald übrig ist. Dieser Baum ist der Huffman-Baum
Mein persönliches Verständnis ist, dass das Konstruieren der beiden kleinsten Bäume zu einem neuen Binärbaum und die zyklische Ausführung dieser Operation dazu führt, dass das Gewicht umso kleiner, d. h. die weniger wichtigen Daten, am unteren Rand des Huffman-Baums gespeichert werden , desto wichtiger ist es, die Daten auf hoher Ebene zur einfacheren Verwendung in der oberen Ebene des Baums zu speichern
Huffman-Codierung
Wenn für einen Huffman-Baum mit n Blättern jeder linke Zweig im Baum 0 und der rechte Zweig 1 zugewiesen wird, entspricht die Binärzeichenfolge, die sich aus den Zuweisungen jedes Zweigs auf dem Pfad von der Wurzel zu den Blättern zusammensetzt, der Huffman-Kodierung.
Persönliches Verständnis: Huffman-Codierung ist wie eine Navigation, 0 bedeutet nach links gehen, 1 bedeutet nach rechts gehen.
Berechnung des WPL-Wertes
Finden
Basiskonzept
Nachschlagwerk
Eine Sammlung von Datenelementen desselben Typs
Schlüsselwörter
Der Wert eines Datenelements in einem Datenelement
Finden
Bestimmen Sie anhand eines bestimmten Werts einen Datensatz oder ein Datenelement in der Nachschlagetabelle, dessen Schlüssel dem angegebenen Wert entspricht
Lineare Tabellensuche
Sequentielle Suche
Vergleichen Sie sie beginnend an einem Ende der Tabelle der Reihe nach
Halbsuche (binäre Suche)
Beginnen Sie den Vergleich in der Mitte der Tabelle, führen Sie einen Halbierungsvergleich mit der größeren Hälfte durch. Wenn er kleiner ist, führen Sie einen Halbierungsvergleich mit der Hälfte durch, die kleiner als die Tabelle ist, bis die Suche erfolgreich ist es gibt kein Ergebnis.
Suchen Sie in Blöcken
Erstellen Sie eine Indextabelle und führen Sie sequentielle Suchvorgänge in den Blöcken entsprechend den Blöcken durch, auf die die Indextabelle verweist.
Baumtabellensuche
Binärer Sortierbaum
Wenn der linke Teilbaum nicht leer ist, muss er kleiner als sein Wurzelknoten sein.
Wenn der rechte Teilbaum nicht leer ist, muss er größer als sein Wurzelknoten sein.
Der linke und der rechte Teilbaum sind beide binär sortierte Bäume.
ausgeglichener Binärbaum
Aufgrund des binären Sortierbaums gibt es eine zusätzliche Einschränkung, d. h. der absolute Wert der Tiefendifferenz zwischen dem linken und rechten Teilbaum darf 1 nicht überschreiten.
Hash-tabelle
Sortieren
Basiskonzept
Sortieren
Ist die Neuordnung einer Reihe von Datensätzen in nicht absteigender oder nicht aufsteigender Reihenfolge der Schlüsselwörter
Sortierstabilität
Wenn die Sortierschlüssel unterschiedlich sind, ist das durch Sortieren der ungeordneten Reihenfolge eines Datensatzes erhaltene Ergebnis eindeutig, andernfalls ist es nicht eindeutig.
Interne Sortierung und externe Sortierung
Interne Sortierung
Der Sortiervorgang, bei dem alle zu sortierenden Datensätze im Computerspeicher gespeichert werden
externe Sortierung
Die Anzahl der zu sortierenden Datensätze ist sehr groß und der Speicher kann nicht alle auf einmal aufnehmen. Während des Sortiervorgangs muss für den Sortiervorgang auf externen Speicher zugegriffen werden.
Sortieren durch Einfügen
direkte Einfügungssortierung
Beim Einfügen des i-ten (i >= 1) wurden die vorherigen V[0], V[1],..., V[i-1] sortiert. Verwenden Sie zu diesem Zeitpunkt den Sortiercode von V [I], um die Reihenfolge der Sortiercodes von V [i-1], V [i-2], ... zu vergleichen, die Einfügeposition zu finden und V [i] einzufügen. , und das Element an der ursprünglichen Position wird in „Rückwärts bewegen“ eingefügt
Halbeinfügungssortierung
Verwenden Sie „low“, „mid“ und „high“, um es in zwei Bereiche zu unterteilen [low, mid-1] und [mid 1, high] Wenn der Schlüsselwert kleiner als der Mittelwert in der Mitte der Sequenz ist, bedeutet dies, dass der Schlüsselwert in den linken Bereich [niedrig, mittel-1] eingefügt werden sollte und der Bereich dann wiederholt durch [niedrig, mittel-1] geteilt werden sollte. bis niedrig> hoch, und die endgültige Einfügung sollte hoch sein 1. Verschieben Sie die Daten an der Position nach hoch nach hinten als Ganzes und weisen Sie dann den Schlüssel [Mitte 1] zu.
Hill-Sorte
Im Wesentlichen handelt es sich um eine Gruppeneinfügemethode, die durch kontinuierliche Verkürzung der Stofflänge sortiert.
Sortierung tauschen
Blasensortierung
Finden Sie nacheinander kleine oder große Elemente, indem Sie die Positionen benachbarter Elemente vergleichen und austauschen.
Schnelle Sorte
Dies ist eine Verbesserung gegenüber der Blasensortierung. Wählen Sie den Teilungswert aus, um ihn in zwei Teile zu teilen. Die linke Seite ist kleiner als die rechte Seite und die rechte Seite ist größer.
Auswahl sortieren
Einfache Auswahlsortierung
Suchen Sie zunächst das kleinste (große) Element in der unsortierten Sequenz und speichern Sie es am Anfang der sortierten Sequenz. Suchen Sie dann weiterhin das kleinste (große) Element aus den verbleibenden unsortierten Elementen und fügen Sie es dann am Ende ein sortierte Reihenfolge. Und so weiter, bis alle Elemente sortiert sind.
Baumauswahlsortierung
Vergleichen Sie die n zu sortierenden Elemente paarweise, nehmen Sie die kleineren heraus, vergleichen Sie dann die n/2 kleineren paarweise, nehmen Sie die kleineren heraus und wiederholen Sie die obigen Schritte, bis die minimalen Elemente herausgenommen werden.
Heap-Sortierung
Konstruieren Sie die Sequenz, die in einen Big-Top-Heap sortiert werden soll. Gemäß den Eigenschaften des Big-Top-Heaps ist der Wurzelknoten des aktuellen Heaps das größte Element in der Sequenz. Tauschen Sie das oberste Element des Heaps mit dem letzten Element aus und rekonstruieren Sie dann die verbleibenden Knoten in einen Big-Top-Heap usw. Ab dem ersten Mal, wenn wir den Big-Top-Heap erstellen, können wir jeweils den Maximalwert einer Sequenz ermitteln Mal bauen wir es und legen es dann ans Ende des Big Top-Stapels. Schließlich wird eine geordnete Sequenz erhalten.
Zusammenführen, sortieren
Teilen Sie n Elemente in zwei Teilfolgen mit n/2 Elementen Verwenden Sie MS, um die beiden Teilsequenzen rekursiv zu sortieren (schließlich kann die gesamte Originalsequenz in n Teilsequenzen zerlegt werden). Zwei sortierte Sequenzen zusammenführen
Radix-Sortierung
Sortierung nach mehreren Schlüsselwörtern
Methode mit der höchsten Priorität
Methode mit der niedrigsten Priorität
verkettete Radix-Sortierung
externe Sortierung