AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TDictionary mit zusammengesetzem Schlüssel
Thema durchsuchen
Ansicht
Themen-Optionen

TDictionary mit zusammengesetzem Schlüssel

Ein Thema von Nersgatt · begonnen am 18. Jun 2015 · letzter Beitrag vom 22. Jun 2015
 
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: TDictionary mit zusammengesetzem Schlüssel

  Alt 20. Jun 2015, 08:19
Na so (A XOR B) mod 23 könnte schon ausreichen, als Hash in einem Dictionary.
Ist aber aufwändiger zu programmieren als eine schnöde Liste mit linearer Suche.
Delphi-Quellcode:
Type
  TTwoBigIntList<T> = class
    fDict : TDictionary<Int64,T>;
  public
    constructor Create;
    property Item[Key1, Key2 : Int64] : T Read GetItem;
    ...
  end;

...
Function TTwoBigIntList<T>.GetItem(Key1, Key2 : Int64) : T;
begin
  return FDict.Get(Key1 xor Key2); // ist natürlich nicht eindeutig... ;-(
end;
Würde ich jetzt nicht sagen. Hinter der Klasse kann man eben auch den Vorschlag von Stevie implementieren (dann muss man aber noch den equal-Operator implementieren ), oder eine lineare Suche (aufwändiger) oder eine binäre Suche (noch aufwändiger) oder einen Baum (noch viel Aufwändiger) oder eine Skiplist (noch viel viel Aufwändiger) oder ach was weiss ich denn verbergen.

Wobei: In der Klasse würde ich überhaupt kein Verhalten implementieren, sondern eine vorgefertigte Struktur verwenden, die der Aufgabenstellung angemessen erscheint (lookup, sort, insert etc.)
  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 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz