Was ist der worst-case-Laufzeit von Hashing mit Verkettung?

Nehme an, dass die Anzahl der hash-Tabelle slots(sagen wir n) sind proportional zu der Anzahl der Elemente in der Tabelle(sagen wir m). Wir haben n = O(m),
load-Faktor l = O(m)/m = O(1)
Also Unter der Annahme von Simple Uniform Hashing, Suche in konstanter Zeit auf einen Durchschnitt. Das bedeutet für eine Durchschnittliche Suche dauert Zeit proportional zu der Länge der verketteten Liste, die ist die gleiche für alle slots und somit Konstante Zeit. Aber was ist mit dem worst-case-Laufzeit unter der Annahme der Simple Uniform Hashing. Ist es auch konstant sein oder es werden O(1 + l). Bitte erklären, ich bin verwirrt. [Referenz CLRS Seite 260]

Tut worst-case Zeit für die Un-erfolgreiche Suche unter der Annahme der Einfachen uniform hashing wird derselbe sein wie der Durchschnittliche Fall Zeit. Und worst-case Zeit für eine erfolgreiche Suche unter der Annahme der Einfachen uniform hashing wird anders sein als der Durchschnitt Fall Zeit.

  • Uniform-hashing ist nicht genug, um Ihnen einen guten worst-case bounds. Eine hash-Familie einheitlich ist, während eine bestimmte Funktion noch hashes jede Taste den gleichen Eimer. Wenn Sie bekommen können, die eine Universelle hash-Funktion, die Sie bekommen können O(logn) Grenzen mit hoher Wahrscheinlichkeit: stackoverflow.com/questions/4553624/hashmap-get-put-complexity/...
InformationsquelleAutor Sonali | 2013-11-27
Schreibe einen Kommentar