AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 05:32

Parameter dieser Suchanfrage:

Suche in Thema: Hashtable, wie benutzen?
Suche alle Beiträge, die von "Horst_" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 7 von insges. 7 Treffern
Suche benötigte 0.001s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 25. Apr 2012
    Hallo,

    ich wollte mit myrandom eben keine Zufallszahlen erzeugen, sondern Zahlen, die in der Hashtable alle an der selben Stelle landen.
    Damit erzwinge ich im Beispiel 25 Mio -1 Kollisionen und die Erzeugung einer linearen Liste.
    Du hattest doch mal vermutet, das bei der ersten Kollision der Fehler mit dem Zugriff auf Speicheradresse 0...01 erfolgt sein könnte.
    Das kann man jetzt wohl...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 24. Apr 2012
    Hallo,

    man kann der Hash-table den Schlüssel und einen Zeiger auf irgendwelche Daten übergeben.
    Da aber da ja nur Index in das Feld gebraucht wird, reicht es, den integer Index in einen Pointer zu casten.
    Beim Auslesen wird der Pointer eben wieder in ein integer gecastet.
    Das geht aber nur, solange die Daten maximal soviel Speicher wie der type Pointer brauchen, bei 32 Bit-Systemem 4 Byte==...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 24. Apr 2012
    Hallo,

    hier die Funktion bei Zeile 535:
    Function TIntegerDictionary.FindHash(aKey : TDictIntType; Out h: Cardinal): Pointer;
    Begin
    h := HashFromInt(aKey) Mod fHashMod;
    Result := fHashList;
    While PIntHashEntry(Result) <> Nil Do
    With PIntHashEntry(Result)^ Do
    If heKey = aKey Then
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 24. Apr 2012
    Hallo,

    ich bekomme den Fehler auch nicht hin :-(
    Ich habe mal DictFind.pas geändert.
    Es wird jetzt eine lineare Liste erzwungen.
    function myRandom(i : TDictIntType):TDictIntType;inline;
    begin
    result := i*ccInitialSize+17;//random(i);
    end;
    denn alle erzeugten Zahlen Wert sind verschieden, aber (Wert mod ccInitialSize) = 17.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 2. Apr 2012
    Hallo,

    ich habe jetzt keine Version von csDictionary gesehen, die mit Int64 umgeht, sondern nur cardinal.
    Deshalb habe ich dort einen TDictIntType eingeführt und dann auf Int64 zugewiesen.
    Die procedure Add habe ich in eine Function:boolean umgewandelt, damit ich weiß, ob der Wert eingefügt wurde, also schon vorhanden war, sonst hätte ich .contains nutzen müssen, was in .Add ja auch gemacht...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 1. Apr 2012
    Hallo,

    Binsuche dauert zwar "nur" etwa 4xmal so lang auf meinem 2,3 Ghz Notebook bei 1 Mio Elementen, aber das Aufrechterhalten der Sortierung kostet viel zuviel Zeit.

    Gruß Horst
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Hashtable, wie benutzen?

     
      by Horst_, 31. Mär 2012
    Hallo,

    @isilive:
    Was tut denn dies Programm?
    for i:=0 to arraysize do // arraysize=25 Mio.
    begin
    array1:=int64_x; //irgendeine zahl, zB: Zufallszahl
    for j:=0 to i-1 do
    if int64_x = array1 then
    found:=true;


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Horst_&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=167408
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 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