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 …
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 …
Diese Frage wurde von Software Engineering Stack Exchange migriert, da sie in Computer Science Stack Exchange beantwortet werden kann. Vor 7 Jahren migriert . Ich versuche, die Pastry Distributed Hash Table zu implementieren, aber einige Dinge entziehen sich meinem Verständnis. Ich hatte gehofft, jemand könnte das klären. Haftungsausschluss : Ich …
Aus den Antworten auf (Wann) ergibt sich die Hash-Tabellensuche O (1)? Ich stelle fest, dass Hash-Tabellen das schlechteste Verhalten von aufweisen, zumindest amortisiert, wenn die Daten bestimmte statistische Bedingungen erfüllen, und dass es Techniken gibt, mit denen sich diese Bedingungen erweitern lassen.O ( 1 )Ö(1)O(1) Aus Sicht eines Programmierers weiß …
Ich habe einen Algorithmuskurs in Coursera besucht. Der Professor im Video über Hash-Tabellen sagte das Was stimmt, ist, dass Sie für nicht pathologische Daten konstante Zeitoperationen in einer ordnungsgemäß implementierten Hash-Tabelle erhalten. Was bedeutet "nicht pathologische Daten"? Können Sie einige Beispiele nennen?
HHHh : U→ { 0 , … , M−1}h:U→{0,…,M−1}h: U \rightarrow \{0,\ldots,M-1\}∀x,y∈U,x≠y⇒Prh∈H[h(x)=h(y)]≤1M∀x,y∈U,x≠y⇒Prh∈H[h(x)=h(y)]≤1M\forall x,y \in U, x \neq y \Rightarrow \Pr_{h \in H}[h(x) = h(y)] \leq \frac{1}{M} Das Konzept des universellen Hashings ist heute ein Standardbestandteil von Grundstudiengängen zur Datenstruktur. Es wäre schön, die Schüler für die Bedeutung von Universal-Hashing in …
Dynamische perfekte Hash-Tabellen und Kuckuck-Hash-Tabellen sind zwei unterschiedliche Datenstrukturen, die O (1) -Suchvorgänge im ungünstigsten Fall und erwartete O (1) -Zeit-Einfügungen und -Löschungen unterstützen. Beide benötigen O (n) Hilfsraum und Zugang zu Familien von Hash-Funktionen für ihre Operationen. Ich denke, dass diese beiden Datenstrukturen für sich genommen schön und brillant …
Bei der Arbeit wurde ich beauftragt, einige Typinformationen über eine dynamische Sprache abzuleiten. Ich schreibe Folgen von Anweisungen in verschachtelte letAusdrücke um, wie folgt: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z …
Ich habe Probleme mit Hashing und binärem Suchbaummaterial. Und ich habe gelesen, dass anstelle von Listen zum Speichern von Einträgen mit denselben Hashwerten auch binäre Suchbäume verwendet werden können. Und ich versuche zu verstehen, was die schlechteste und durchschnittliche Laufzeit für die Operationen ist insert, find und delete ist wert. …
Haftungsausschluss: Ich weiß, dass es hier und bei Stackoverflow bereits ähnlich klingende Fragen gibt. Aber es geht nur um Kollisionen, was ich nicht verlange. Meine Frage ist: Warum ist kollisions weniger Nachschlagen O(1)in erster Linie? Nehmen wir an, ich habe diese Hashtabelle: Hash Content ------------- ghdjg Data1 hgdzs Data2 eruit …
Diese Frage und diese Frage haben mich ein wenig zum Nachdenken gebracht. Um ein Array der Länge mit eindeutigen Elementen in sortieren , müssen wir in der Lage sein, die Anzahl der Werte im Array zu speichern. Es gibt einige Vorschläge, aber ich suche nach einer Möglichkeit, dies im schlimmsten …
Bei herkömmlichen Kollisionsauflösungsmethoden wie separater Verkettung und linearer / quadratischer Abtastung kann die Sondensequenz für einen Schlüssel beliebig lang sein - sie wird einfach mit hoher Wahrscheinlichkeit kurz gehalten, indem der Lastfaktor der Tabelle niedrig gehalten wird. Kollisionen während des Aufwärmens sind daher kein Problem, da sie den Lastfaktor nicht …
Hash-Tabellen sollen unter Verwendung von beispielsweise einfacher Verkettung und Verdoppelung bei einer bestimmten Kapazität amortisiert werden.Θ ( 1 )Θ(1)\Theta(1) Dies setzt jedoch voraus, dass die Längen der Elemente konstant sind. Um den Hash eines Elements zu berechnen, muss das Element durchlaufen werden, wobei Zeit benötigt wird, wobei die Länge ist.lΘ …
Frage: Wie werden die Werte der Hash-Tabelle so gespeichert, dass der Speicherplatz bei effizienter Nutzung nicht häufig verschoben werden muss? Mein derzeitiges Verständnis (könnte falsch sein): Angenommen, ich habe 3 Objekte in einer Hash-Tabelle gespeichert. Ihre Hash-Funktionen erzeugen folgende Werte: 0 10 20 Ich würde annehmen, dass die Zeiger dieser …
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.