Ich habe mich über diese Frage gewundert, seit ich Student war. Es ist eine allgemeine Frage, aber ich werde sie im Folgenden anhand von Beispielen erläutern. Ich habe viele Algorithmen gesehen - zum Beispiel für Probleme mit maximalem Durchfluss kenne ich 3 Algorithmen, die das Problem lösen können: Ford-Fulkerson, Edmonds-Karp …
Diese beiden scheinen sehr ähnlich zu sein und haben eine fast identische Struktur. Was ist der Unterschied? Was sind die Zeitkomplexitäten für verschiedene Operationen von jedem?
Es wird oft gesagt, dass die Hash-Tabellensuche in konstanter Zeit abläuft: Sie berechnen den Hash-Wert, der Ihnen einen Index für eine Array-Suche gibt. Dabei werden Kollisionen ignoriert. im schlimmsten Fall landet jedes Objekt im selben Bucket und die Suchzeit wird linear ( ).Θ ( n )Θ(n)\Theta(n) Gibt es Bedingungen für …
Wenn ich eine Liste mit Schlüsselwerten von 1 bis 100 habe und diese in einem Array von 11 Buckets organisieren möchte, wurde mir das Bilden einer Mod-Funktion beigebracht H=kmod 11H=kmod 11 H = k \bmod \ 11 Jetzt werden alle Werte nacheinander in 9 Zeilen platziert. Zum Beispiel gibt es …
Überall, wo ich hinschaue, werden Datenstrukturen mithilfe von rot-schwarzen Bäumen implementiert ( std::setin C ++, SortedDictionaryin C # usw.). Nachdem ich gerade (a, b), Rot-Schwarz- und AVL-Bäume in meinem Algorithmus-Kurs behandelt habe, habe ich Folgendes herausgefunden (auch nachdem ich mich bei Professoren erkundigt, ein paar Bücher durchgesehen und ein bisschen …
Es gibt sehr viele Datenstrukturen, die die Priority-Queue-Schnittstelle implementieren: Einfügen: Fügt ein Element in die Struktur ein Get-Min: Gibt das kleinste Element in der Struktur zurück Extract-Min: Entfernt das kleinste Element in der Struktur Übliche Datenstrukturen, die diese Schnittstelle implementieren, sind (min) Heaps . Normalerweise betragen die (amortisierten) Laufzeiten dieser …
Nehmen wir die folgende Definition eines rot-schwarzen Baums an: Es ist ein binärer Suchbaum. Jeder Knoten ist entweder rot oder schwarz gefärbt. Die Wurzel ist schwarz. Zwei durch eine Kante verbundene Knoten können nicht gleichzeitig rot sein. Hier sollte eine gute Definition eines NIL-Blattes sein, wie im Wiki. Das NIL-Blatt …
Ich versuche eine Rechtschreibprüfung zu schreiben, die mit einem ziemlich großen Wörterbuch funktionieren sollte. Ich möchte wirklich, dass meine Wörterbuchdaten auf effiziente Weise indexiert werden, um anhand einer Damerau-Levenshtein- Distanz zu bestimmen, welche Wörter dem falsch geschriebenen Wort am nächsten kommen. Ich suche eine Datenstruktur, die mir den besten Kompromiss …
Ich verstehe, dass die "Struktur" von Daten vollständig von der Booleschen Algebra abhängt, aber: Warum werden Daten nicht als kontinuierliche, sondern als diskrete mathematische Einheit betrachtet? Im Zusammenhang damit: Was sind die Nachteile oder Invarianten, die bei der Strukturierung von Daten als kontinuierliche Einheit in Dimensionen verletzt werden ?rrr Ich …
Ich bin noch nicht einmal ein CS-Student, also ist das vielleicht eine blöde Frage, aber bitte trage sie mit mir ... Im Zeitalter vor dem Computer können wir eine Array-Datenstruktur nur mit so etwas wie einem Array von Schubladen implementieren. Da man die Schublade mit dem entsprechenden Index lokalisieren muss, …
Ich lerne etwas über Radix-Bäume (aka komprimierte Versuche) und Patricia-Versuche, finde aber widersprüchliche Informationen darüber, ob sie tatsächlich gleich sind oder nicht. Ein Radix-Baum kann aus einem normalen (nicht komprimierten) Versuch erhalten werden, indem Knoten mit ihren Eltern zusammengeführt werden, wenn die Knoten das einzige Kind sind. Dies gilt auch …
Bei der Implementierung eines Wörterbuchs ("Ich möchte Kundendaten anhand ihrer Kunden-IDs nachschlagen") werden typischerweise Hash-Tabellen und binäre Suchbäume verwendet. Ich weiß zum Beispiel, dass die C ++ STL-Bibliothek Wörterbücher (sie nennen sie Maps) mithilfe von (ausgeglichenen) binären Suchbäumen implementiert und das .NET-Framework Hash-Tabellen unter der Haube verwendet. Was sind die …
Intuitiv sollten "ausgeglichene Bäume" Bäume sein, bei denen die linken und rechten Unterbäume an jedem Knoten "ungefähr die gleiche" Anzahl von Knoten haben müssen. Wenn wir davon sprechen, dass rot-schwarze Bäume * (siehe Definition am Ende) ausgeglichen sind, meinen wir natürlich, dass sie Höhe haben ausgeglichen sind, und in diesem …
Wikipedia und andere Quellen, die ich gefunden habe, listen den voidTyp C als Einheitentyp und nicht als leeren Typ auf. Ich finde das verwirrend, da es mir so scheint, als ob es voidbesser zur Definition eines Leer- / Bodentyps passt. voidSoweit ich das beurteilen kann, gibt es keine Werte . …
Ich suche nach einer Datenstruktur , dass speichert einen Satz von Saiten über einen Zeichensatz , können die folgenden Operationen durchführen. Wir bezeichnen D ( S ) als die Datenstruktur, die den Satz von Zeichenketten S speichert .ΣΣ\SigmaD(S)D(S)\mathcal{D}(S)SSS Add-Prefix-Seton : Bei gegebener Menge T von (möglicherweise leeren) Zeichenfolgen, deren Größe …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.