Referenzressourcen

Kurzreferenz zur Operationskomplexität von Datenstrukturen

DatenstrukturEinfügenDeleteSucheTraversieren
ArrayO(n) Mitte / O(1) EndeO(n) Mitte / O(1) EndeO(1) nach Index / O(n) nach WertO(n)
Einfach verkettete ListeO(1) Kopf / O(n) EndeO(1) Kopf / O(n) angegebene PositionO(n)O(n)
Doppelt verkettete ListeO(1) (bekannte Position)O(1) (bekannte Position)O(n)O(n)
StapelO(1)O(1)——
WarteschlangeO(1)O(1)——
Prioritätswarteschlange (Heap)O(log n)O(log n)——
Binärbaum (BST)O(log n)~O(n)O(log n)~O(n)O(log n)~O(n)O(n)
Hash-TabelleO(1) durchschnittlichO(1) durchschnittlichO(1) durchschnittlich—
HeapO(log n)O(log n)O(1) Heap-Spitze—
GraphO(1) AdjazenzlisteO(E)O(V+E) DFS/BFSO(V+E)

Kurzreferenz zu Sortieralgorithmen

AlgorithmusDurchschnittliche KomplexitätWorst-Case-KomplexitätSpeicherStabilEinzeiler
BubbleO(n²)O(n²)O(1)JaEinfach, aber langsam, für Lehrzwecke geeignet
SelectionO(n²)O(n²)O(1)neinWenigste Vertauschungen
InsertionO(n²)O(n²)O(1)JaOptimal für kleine Datenmengen oder fast sortierte Daten
QuickO(n log n)O(n²)O(log n)neinUniverselle erste Wahl, clevere Partitionierungsidee
MergeO(n log n)O(n log n)O(n)JaStabile Leistung, benötigt aber zusätzlichen Speicherplatz
Heap-SortierungO(n log n)O(n log n)O(1)neinIn-place-Sortierung, optimaler Speicherplatz
ShellO(n^1.3)O(n²)O(1)neinVerbesserte Version der Insertionssortierung

Big-O-Komplexitäts-Ranking

Komplexitätn=10n=1000n=1000000Bewertung
O(1)111Optimal
O(log n)~3~10~20Ausgezeichnet
O(n)1010001000000Akzeptabel
O(n log n)~30~10000~20000000Mittelmäßig
O(n²)100100000010¹²Vorsichtig
O(2ⁿ)1024Astronomische ZahlUnmöglichUnbrauchbar

Empfohlene Lernressourcen

TypeNameBeschreibung
Klassisches Lehrbuch"Data Structures (C Language Edition)" von Yan WeiminStandardlehrbuch für inländische Universitäten, umfassend und systematisch
Klassisches Lehrbuch"Introduction to Algorithms" (CLRS)Maßgebliche Referenz im Bereich Algorithmen, tiefgehend und systematisch
Online-ÜbungenLeetCode (leetcode.com)Riesige Auswahl an Algorithmusaufgaben, erste Wahl für Interview-Übungen
Online-ÜbungenNowcoder (nowcoder.com)Inländische Interview-Übungsplattform, geeignet zur Vorbereitung auf Campus-Recruiting
VisualisierungstoolVisualgo (visualgo.net)Algorithmenvisualisierung, hilft beim Verständnis des Ausführungsprozesses
Online-CompilerCompiler Explorer (godbolt.org)Assembly nach der Kompilierung von C-Code anzeigen, zugrunde liegende Details verstehen
Andere Erweiterungen