ormanı göremiyorsun: Benim matematiksel programı aracılığıyla yinelemek öğeler dev koleksiyon sahip olacaktır. Temel olarak, bir ürün ve bir işaretçisi işaretçisinden bir başka öğe ((int) öğe, (int) işaretçisine), bir anahtar değer çiftini andırır. Ancak, kendi başına her öğe olacak birkaç böyle niteliklerini diğer:HashSet, sözlük, ArrayList: ağaçlar Hakkında
(öğe, işaretçi), (nitelik, özellik, nitelik, ...)
Öğeler, göstericiler ve nitelikleri olacak sık eklendi.
Bu siteyi ve diğerlerini araştırmak, program için hangi koleksiyonun kullanılacağı konusunda daha fazla bilgi sahibi olmamı sağladı.
Dictionary<Dictionary<int,int>,Dictionary<int,int> nestedDictionary =
new Dictionary<Dictionary<int,int>,Dictionary<int,int> nestedDictionary();
veya sade bir dille:
Dictionary<Dictionary<item, pointer>,
Dictionary<attribute,attribute, ...> nestedDictionary =
Dictionary<Dictionary<item, pointer>,
Dictionary<attribute,attribute, ...>();
niteliklerin sayı değil lütfen unutmayın vcskicks.com bulunan bir Sözlük çözüm iyi iş gibi görünüyor bu noktada
önceden tanımlanmış, uzunluk olarak değişir. Ayrıca şu anda performans yükü nedeniyle nesneler kullanmakta isteksizim.
Hashsets uymuyor çünkü yinelenen öğeler mevcut olacak, ancak farklı öznitelikleri olacak. Veya hashset'in yinelenen öğeleri var, ancak yalnızca hashkey'leri kopyalamıyor musunuz? Bazı karışıklıklar var gibi görünüyor.
Bazılarına göre aşağıdaki HashSet hesaplamak olmaz:
11011, 0001
11011, 0011
o olacak başkalarına göre, bu farklı bir hashkey olacaktır çünkü. Beni şaşırttı.
Sorum: Hangi kullanmak en koleksiyon türüdür: belirsiz olmanın riskini göze alarak
? Gerekirse hikayeye daha fazla katkıda bulunmaktan mutluluk duyarım.
Düzenlemeleri:
Dev şu anlama gelir: öğelerin potansiyel milyonlarca. Tüm öğelerin bir işaretçisi ve nitelikleri olacaktır. Genel kullanım arama, belirli bir öğe için işaretçi alma, bir sonraki işaretçinin öğeyi, işaretçi kalmayıncaya kadar alır. Aynı zamanda, her bir öğe için tüm özellikler toplanır. Ekleme düzenli aralıklarla, sadece ara sıra kaldırılarak yapılacaktır. İşaretçi: işaretçi, başvurduğu öğenin bir dizinidir. 2 öğeniz varsa ve ilki ikinciye bağlıysa, ilk öğe ikinci öğenin bir işaretçisi olarak dizinine sahip olacaktır. En iyi, bellek kullanımı ve hızında tanımlanmıştır.Sonunda bulunan tüm öğeler birbiriyle karşılaştırılacaktır. Örnek: Eğer nesneler topluluğu tutmak gerekiyor gibi
[Item , pointer] [attribute, attribute, ...]
[11011, 1001] [ 1101, 1111 ]
[10001, 1000] [ 1110, 0101 ]
[11111, 0010] [ 1111, 1110 ]
[11011, 0001] [ 0010, 1010 ]
Teşekkür
Birbirine bağlı bir liste gibi geliyor – CodesInChaos
'Dev' ne kadar büyük? Genel kullanım, okuma miktarı ya da çok fazla ekleme/silme nedir? Ne tür bir performansa ihtiyacınız var? – RvdK
"En iyi" yi tanımlamanız gerektiğini düşünüyorum. Bellek tüketimi, hız, kodlama kolaylığı, başka bir şey mi düşünüyorsunuz? –