Als «data-structures» getaggte Fragen

Fragen zur Speicherung von Daten, damit diese von Algorithmen vorteilhaft genutzt werden können.

5
Was sind die Gründe, um verschiedene Algorithmen / Datenstrukturen zu lernen, die dem gleichen Zweck dienen?
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 …




4
Warum sind rot-schwarze Bäume so beliebt?
Ü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 …

9
Gibt es eine Prioritätswarteschlange mit
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 …

1
Stellen Sie sich einen rot-schwarzen Baum vor. Gibt es immer eine Sequenz von Einfügungen und Löschungen, die es schafft?
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 …

2
Effiziente Datenstrukturen zum Erstellen einer schnellen Rechtschreibprüfung
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 …



2
Was ist der Unterschied zwischen Radix-Bäumen und Patricia-Versuchen?
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 …

1
Hash-Tabellen versus binäre Bäume
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 …

2
Sind nicht alle rot-schwarzen Bäume ausgeglichen?
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 …

2
Warum ist der leere Typ von C nicht analog zum leeren / unteren Typ?
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 . …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

1
Gibt es eine 'String Stack'-Datenstruktur, die diese String-Operationen unterstützt?
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.