www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges" - Hashing
Hashing < Sonstiges < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Hashing: Negative Eintraege
Status: (Frage) beantwortet Status 
Datum: 18:27 Do 26.06.2008
Autor: barsch

Aufgabe
Gebe die Belegung einer Hash-Tabelle der Länge 13 an, wie die Schlüssel

14, 1, 32, 19

in der angegebenen Reihenfolge eingefügt werden und geschlossenes Hashing mit der Hash-Funktion [mm] h(k)=k\text{ mod }13 [/mm] mit Sondierungsfolge double Hashing mit [mm] h_2(k)=1+k\text{ mod }11. [/mm]

Hi,

habe hier ein kleines Problem.

Ich fange einmal an:

h(14)=14 mod 13 = 1 [mm] \green{okay} [/mm]

h(1)=1 mod 13 = 1 [mm] \green{\text{soweit ist das auch noch in Ordnung. Jetzt kommt }h_2\text{ ins Spiel:}} [/mm]

Nach VL muss ich so vorgehen:

[mm] h(1)-h_2(1)=1-(1+1 [/mm] mod 11)=-1 [mm] \red{\text{Was jetzt? -1 exisitiert ja nicht.}} [/mm]

Die Hashtabelle sieht ja so aus:

0  1  2  3  4  5  6  7  8  9  10  11 12
   14

Selbes im nächsten Schritt:

h(32)=32 mod 13=6 Okay.

h(19)=19 mod 13=6

Es folgt Vorgang von eben:

[mm] h(19)-h_2(19)=6-(1+ [/mm] 19 mod 11)=6-(1+8)=-3

Aber auch hier: -3 ist ja nicht in der Tabelle. Wie also sind 1 und 19 einzuordnen?

HashTabelle bis jetzt:


0  1  2  3  4  5  6  7  8  9  10  11 12
   14            32

Vielen Dank.

MfG barsch

Ich habe diese Frage in keinem anderen Forum gestellt.

        
Bezug
Hashing: Antwort
Status: (Antwort) fertig Status 
Datum: 18:48 Do 26.06.2008
Autor: ardik

Hallo barsch,

mit dem Thema bin ich nicht vertraut, aber das:

> Nach VL muss ich so vorgehen:
>  
> [mm]h(1)-h_2(1)=1-(1+1[/mm] mod 11)=-1 [mm]

ist mir hochgradig suspekt.
Meines Erachtens muss grundsätzlich etwas in der Form
(...) mod 11
verwendet werden, wobei in der Klammer irgendeine Kombination der Hash-Funktion und der alternativen Hash-Funktion stehen müsste. Nur so werden ja geeignete Ergebnisse sichergestellt.
Dies wird auch durch meine Google- (und Wikipedia-) Schnellrecherche gestützt.

Viel Erfolg!

Schöne Grüße
 ardik

Bezug
                
Bezug
Hashing: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:16 Do 26.06.2008
Autor: barsch

Hi,

danke für die Antwort.

> Hallo barsch,
>  
> mit dem Thema bin ich nicht vertraut, aber das:
>  
> > Nach VL muss ich so vorgehen:
>  >  
> > [mm]h(1)-h_2(1)=1-(1+1[/mm] mod 11)=-1 [mm]

> ist mir hochgradig suspekt.

Aber genau so muss ich vorgehen. So steht's bei mir im Skript. :-)

Die HashTabelle sieht am Ende so aus:

0  1  2  3  4  5  6  7  8  9  10  11  12
   14             32    19             1

Habe ich erst vorenthalten (sorry). Weil mir der Weg nicht klar war.
Ich glaube, ich habe jetzt eine Idee. Bevor ich die aber poste, will ich
mir erst noch mal Gedanken darüber machen, ob das so sein könnte,
wie ich denke.

MfG barsch

Bezug
        
Bezug
Hashing: Antwort
Status: (Antwort) fertig Status 
Datum: 20:52 Do 26.06.2008
Autor: rainerS

Hallo!

> Gebe die Belegung einer Hash-Tabelle der Länge 13 an, wie
> die Schlüssel
>  
> 14, 1, 32, 19
>
> in der angegebenen Reihenfolge eingefügt werden und
> geschlossenes Hashing mit der Hash-Funktion [mm]h(k)=k\text{ mod }13[/mm]
> mit Sondierungsfolge double Hashing mit [mm]h_2(k)=1+k\text{ mod }11.[/mm]
>  
> Hi,
>  
> habe hier ein kleines Problem.
>  
> Ich fange einmal an:
>  
> h(14)=14 mod 13 = 1 [mm]\green{okay}[/mm]
>  
> h(1)=1 mod 13 = 1 [mm]\green{\text{soweit ist das auch noch in Ordnung. Jetzt kommt }h_2\text{ ins Spiel:}}[/mm]
>  
> Nach VL muss ich so vorgehen:
>  
> [mm]h(1)-h_2(1)=1-(1+1[/mm] mod 11)=-1 [mm]\red{\text{Was jetzt? -1 exisitiert ja nicht.}}[/mm]

Du musst Alles mod 11 rechnen, was nichts Anderes heisst, als dass du ein passendes Vielfaches von 11 dazuaddieren musst:

[mm] -1 \equiv 10 \pmod{11} [/mm]

Kongruenz [mm] $\pmod{11}$ [/mm] bedeutet ja nur, dass die Differenz der Zahlen ein Vielfaches von 11 ist.

Viele Grüße
   Rainer



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]