hashset, wörterbuch, arraylist: kann den wald nicht für die bäume sehen

8

Über: Mein mathematisches Programm wird eine riesige Sammlung von Elementen haben, durch die iteriert wird. Es besteht hauptsächlich aus einem Element und einem Zeiger für ein anderes Element ((int) Element, (int) Zeiger), das einem Schlüsselwertpaar ähnelt. Jedes Element selbst wird jedoch einige andere Attribute haben:

(Element, Zeiger), (Attribut, Attribut, Attribut, ...)

Elemente, Zeiger und Attribute werden häufig hinzugefügt.

Das Durchsuchen dieser Seite und anderer hat mich nur ratloser gemacht, welche Sammlung für das Programm verwendet werden soll.

In diesem Moment scheint eine Lösung Dictionary auf vcskicks.com am besten zu funktionieren:

%Vor%

oder im Klartext:

%Vor%

Bitte beachten Sie, dass die Anzahl der Attribute nicht vordefiniert ist, sondern in der Länge variiert. In diesem Moment zögere ich auch, Objekte aufgrund des Leistungsaufwands zu verwenden.

Hashsets scheinen nicht zu passen, da doppelte Elemente vorhanden sind, jedoch unterschiedliche Attribute aufweisen. Oder kann ein Hash-Set doppelte Einträge enthalten, aber Hash-Schlüssel nicht duplizieren? Es scheint etwas Verwirrung zu geben.

Nach einigen wird das folgende hashset nicht berechnen:

%Vor%

Nach anderen wird es, weil es einen anderen Hash-Schlüssel haben wird. Es lässt mich verwirrt.

Meine Frage:

Gefahr, vage zu sein: Was ist der beste Sammlungstyp? Ich werde glücklich sein, wenn nötig mehr zur Geschichte hinzuzufügen.

Bearbeitungen :

Riesen bedeutet : potenziell Millionen von Elementen. Alle Elemente haben einen Zeiger und Attribute. Allgemeine Verwendung wird für ein bestimmtes Objekt gesucht , ruft den Zeiger ab und ruft das Element des nächsten Zeigers ab, bis kein Zeiger mehr übrig ist. Gleichzeitig werden alle Attribute für jeden Artikel gesammelt. Das Hinzufügen wird regelmäßig durchgeführt und nur gelegentlich entfernt. Zeiger : Der Zeiger ist ein Index des Elements, auf das er verweist. Wenn Sie zwei Elemente haben und das erste mit dem zweiten verknüpft ist, wird das erste Element den Index des zweiten Elements als Zeiger haben. Beste ist in Speicherauslastung und -geschwindigkeit definiert. Am Ende werden alle gefundenen Gegenstände miteinander verglichen. Beispiel:

%Vor%

Danke

    
user2257315 08.04.2013, 11:59
quelle

1 Antwort

2

Im Grunde scheint es so, als müssten Sie eine Sammlung von Objekten behalten, von denen jedes die folgenden Eigenschaften hat:

  • Verweis auf den logischen nächsten Eintrag
  • Attribute

So würde ein Gegenstand in etwa so aussehen (nur ein kurzes Beispiel ... nicht gerade bewährte Praxis, um alles öffentlich zu machen, aber in Ihrem Fall wird es Ihnen nichts ausmachen):

%Vor%

Dann brauchst du nur eine Liste zu führen:

%Vor%

Wenn Sie etwas hinzufügen möchten, ist es einfach:

%Vor%

Wenn Sie dann durchqueren möchten, folgen Sie einfach weiter.

%Vor%

Hoffe, das hilft.

    
Gigi 08.04.2013, 13:03
quelle