• Keine Ergebnisse gefunden

6/30/061

N/A
N/A
Protected

Academic year: 2021

Aktie "6/30/061"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

6/30/06

1

G. Zachmann Informatik 2 - SS 06 Hashing 46

C G C C G

Analyse von Double-Hashing C

Satz: Wenn Kollisionen mit Double-Hashing aufgelöst werden, dann ist die durchschnittliche Anzahl von Sondierungsschritten in einer Tabelle der Größe m mit n=αm vielen Elementen

für die erfolgreiche bzw. erfolglose Suche.

Beweis:

sehr kompliziert [Guibas & Szemeredi]

Idee: Zeige, daß Double-Hashing fast äquivalent zu dem (aufwendigeren) Random-Hashing ist

Random-Hashing: s(j,k) ist eine Folge von Pseudo-Zufallszahlen, die von k abhängt und jeden Slot der Hash-Tabelle gleich wahrscheinlich trifft (mehrfache Hits sind aber möglich)

G. Zachmann Informatik 2 - SS 06 Hashing 47

C G C C G

Analyse der mittleren Kosten für Random-Hashing C

Definiere ZV X = Anzahl der Sondierungen bei erfolgloser Suche

Sei P[X≥i] := Wahrscheinlichkeit, daß eine Suche i oder mehr Sondierungsschritte machen muß, i = 1, 2, …

Klar: P[X≥1] = 1

P[X≥2] = W'keit, daß erster zufällig untersuchter Slot belegt ist

P[X≥3] = W'keit, daß erster, zufällig gewählter Slot belegt ist und zweiter, zufällig gewählter Slot besetzt ist

G. Zachmann Informatik 2 - SS 06 Hashing 48

C G C C G C

G. Zachmann Informatik 2 - SS 06 Hashing 49

C G C C G C

Fazit:

Double-Hashing ist genauso effizient wie randomisiertes Sondieren

Double-Hashing ist schneller, um konstanten Faktor (Pseudo- Zufallszahlen sind rel. teuer)

(2)

6/30/06

2

G. Zachmann Informatik 2 - SS 06 Hashing 50

C G C C G

Vergleich

C

Erfolgreiche Suche

α Cn

G. Zachmann Informatik 2 - SS 06 Hashing 51

C G C C G C

Erfolglose Suche

α C'n

G. Zachmann Informatik 2 - SS 06 Hashing 52

C G C C G

Verbesserung der erfolgreichen Suche

C

Allgemein: Kollision beim Einfügen bedeutet

k trifft in T[i] auf kalt, d.h.

Problem:

Sondierungsfolge könnte lang werden

dieselbe Folge muß man später bei der Suche nach k wieder durchlaufen

evtl. wäre die Folge

viel schneller auf einen leeren Slot gestoßen

Idee: suche freien Platz für k oder kalt

2 Möglichkeiten:

(M1) kalt bleibt in T[i]: betrachte neue Position (M2) k verdrängt kalt: betrachte neue Position

solange (M1) und (M2) auf belegten Slot stoßen, verfolge (M1) oder (M2) weiter

G. Zachmann Informatik 2 - SS 06 Hashing 53

C G C C G

Brent's Verfahren C

Verfolge (M2) = Verdrängung nur 1x, sonst (M1)

Annahme: Double-Hashing, d.h., wenn man in Sondierungsfolge bei Slot i steht, ist der nächste Slot (in der Sondierungsfolge) bei i - h'(k) mod m

i = h( k ) while T[i] belegt:

k_alt = T[i]

i1 = (i-h'(k)) % m i2 = (i-h'(k_alt)) % m if T[b1]belegt and T[b2]frei:

# verdränge k_alt T[i] = k k = k_alt i = i2 else:

# leave k_alt in its slot i = i1

T[i] = k

k trifft auf k‘

k weicht aus k‘‘ weicht aus k‘ weicht aus

k‘‘‘ weicht aus k weicht aus

k trifft auf k‘‘‘‘

k trifft auf k‘‘‘

k trifft auf k‘‘

fertig fertig

fertig

(3)

6/30/06

3

G. Zachmann Informatik 2 - SS 06 Hashing 54

C G C C G C

Analyse (o.Bew.):

Kosten für erfolglose Suche bleiben unverändert:

Kosten für erfolgreiche Suche im Schnitt:

G. Zachmann Informatik 2 - SS 06 Hashing 55

C G C C G

Beispiel C

Hash-Funktionen:

Schlüsselfolge: 12, 53, 5, 15, 2, 15

Betrachte:

5 - h'(k) = 5 - h'(5) = 4 belegt und 5 - h'(k') = 5 - h'(12) = 3 frei

→ 5 verdrängt 12 von seinem Platz

53 12

0 1 2 3 4 5 6

h(5) = 5 → belegt → k'= 12

Referenzen

ÄHNLICHE DOKUMENTE

Hinweis In der großen ¨ Ubung werden aller Voraussicht nach die mit ( ¨ U) gekennzeich- neten Aufgaben besprochen, in den Tutorien die mit (T) gekennzeichneten Aufgaben.. — bitte

The surface energy balance at the Svalbard Archipelago has been simulated at high resolution with the Weather Research and Forecasting Model and compared with measurements of

 (Bemerkung: Häufig ist das nicht der Fall, d.h., Algos, die in 2D effizient sind, sind im k-dim. nicht mehr effizient [curse of

Petersoni stiili ja maneeri õpetajad Ainult meie rahvalaulu osa paistab juba enne selle küsimuse lahendust enam vähem selgena. Mis puutub raamatulistesse

Atque inde proverbium ductum: deos lanees pedes habere =.. Minerva, Ceres, Diana, Venus, Mars,

• Peephole-Optimierung für den letzten Schliff ..... Funktionen: Endrekursion + Inlining Stack-Allokation.

Niño Jesusito, ¿qué quieres beber?. Niño Jesusito, ¿qué

más lindo es el Niño que está por nacer. Las flores del campo sequitas