AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dictionary statt binärer Suche?

Ein Thema von stahli · begonnen am 7. Aug 2015 · letzter Beitrag vom 16. Dez 2015
 
Dejan Vu
(Gast)

n/a Beiträge
 
#19

AW: Dictionary statt binärer Suche?

  Alt 13. Okt 2015, 06:54
Vielleicht als Anmerkungen:
  1. Man muss sich keine großartigen Gedanken um eine Hashfunktion machen. Kann man, muss man aber nicht. Wenn die Daten einen eindeutigen Schlüssel haben (integer, string egal) reicht das. Man kann auch einen zusammengesetzten Schlüssel nehmen und string daraus basteln. Bei strings nehme ich eh den Elf-Hash, der ist bisher immer ausreichend gewesen. Hauptsache, der ursprüngliche Schlüssel identifiziert das Objekt eindeutig.
  2. Wenn man einen reinen Integer-Dictionary nimmt, reicht es i.a. sich für die Größe der Tabelle eine Primzahl auszusuchen, um Kollisionen genügend zu vermeiden. Das sollte aber die Dictionary sowieso machen, weswegen es ausreicht, bei einem Integer-Key diesen Key selbst als Hashfunktion zu verwenden.
  3. Eine gute Dictionary-Implementierung erkennt von alleine, wenn die Anzahl der Kollisionen zu hoch ist und vergrößert sich selbst.
Welche Hashfunktion man für eine UUID benutzen könnte, ist hier ganz gut beschrieben bzw. getestet.
http://programmers.stackexchange.com...ness-and-speed
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz