Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hashfunktion für double-vektor: verständnis

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.09.2008, 17:29 Uhr
~Adelholzener
Gast


Hallo,

ich habe eine schlüsselberechnungsfunktion für double-vektoren. Es wird aus einem gesamten double-vektor ein "möglichst" "eindeutiger" schlüssel berechnet.
das funktioniert auch. Kollisionen können natürlich immer auftreten - jedoch funktioniert der algorithmus relativ einwandfrei...

meine frage:
wenn ich jetzt mit meiner funktion den schlüssel eines vektors berechne (jedes element wird zur berechnung miteinbezogen als auch sein platz im array)...macht da noch folgendes sinn?:

sobald 2 array identische schlüssel generieren sollte ein zweiter test anlaufen der einfach die beiden vektoren elementweise vergleicht (a[0] == b[0] ... )

Der Aufwand steigt dadurch bei identischen schlüsseln. Dennoch würde ich gerne wissen ob das informationstheoretisch sinn macht. Bei einem fälschlicherweise produzierten schlüssel , also wenn array a verschieden von b ist aber beide durch meine funktion gleiche schlüssel haben sollten könnte ich dadurch noch eine Kollision vermeiden...

Macht das Sinn oder ist das Zeitverschwendung.

Meien Bedenken sind dass ich auch durch den bitweisen vergleich nicht ausschließn kann dass es eine kollision geben wird da ich mcih im diskreten raum befinde. Dennoch könnte es sinn machen - was meint ihr?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.09.2008, 01:37 Uhr
Lensflare



Ich verstehe nicht ganz wie du dadurch eine Kollision vermeiden willst.

Wenn die double Arrays gleich sind, dann sollten sie natürlich auch gleiche Schlüssel erzeugen.
Aber wozu überhaupt prüfen, ob sie gleich sind?


Wenn du bei gleichen Schlüsseln dann eine andere Schlüsselberechnungsfunktion nimmst, dann ist das nichts anderes als eine Kollisionsbehandlung.

Es gibt auch andere Möglichkeiten, aber die kennst du wahrscheinlich.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 05.09.2008 um 01:37 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.09.2008, 13:34 Uhr
~Adelholzener
Gast


Eine Kollision kann ich natürlich nie ausschließen - nur die wahrscheinlichkeit reduzieren dass eine kollision entsteht.

Und wozu prüfen? Für meinen Algorithmus brauche ich das halt...
Genau - das ist dann eine Kollisionsbehandlung - aber ob die so sinn macht weiß ich eben nicht...schließlich könnte ich ja gleich einfach auf bitweisen vergleich gehen und eine andere kollisionsbehandlung ansteuern...



Zitat:
Es gibt auch andere Möglichkeiten, aber die kennst du wahrscheinlich.


naja - an was dachtest du denn? Evtl. kenne ich sie nicht....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.09.2008, 14:39 Uhr
Lensflare




Zitat:

naja - an was dachtest du denn? Evtl. kenne ich sie nicht....



Also man kann auch jeweils eine Liste oder Baum an die Hashtabellenzellen hängen und bei einer Kollision die Schlüssel dort unterbringen.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.09.2008, 18:56 Uhr
Lensflare




Zitat:
und bei einer Kollision die Schlüssel dort unterbringen.

Ich meinte die Werte, nicht die Schlüssel. Sry.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 05.09.2008 um 18:56 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: