Bir HashSet Nedir?tanımlayın: | Netgez.com
SORU
29 Aralık 2010, ÇARŞAMBA


Bir HashSet Nedir?tanımlayın:

HashSet # HashSet C veri yapısı kullanılmaya başlandı .NET 3.5 Çerçeve. Uygulanan üyelerinin tam listesi HashSet MSDN sayfasında bulunabilir.

  1. Nerede kullanılır?
  2. Neden bunu kullanmak istiyorsunuz?

CEVAP
29 Aralık 2010, ÇARŞAMBA


    1. Bir HashSet bir nesne zaten kümesinde olup olmadığını kolay ve hızlı bir şekilde belirlemek için izin ya da değil bir şekilde nesnelerin, ama bir dizi tutar. Bu kadar içten bir dizi yönetmek ve nesne nesne hashcode üzerinden hesaplanan bir indeks kullanarak depolayarak yapar. Take a look here

    2. HashSet sırasız bir koleksiyon benzersiz öğeleri içeren. Standart toplama işlemleri Ekleme, Kaldırma İçerir, ama karma tabanlı bir uygulama kullanır, çünkü bu işlemi O(1). (İçerdiği için O olan örneğin Liste, (n) karşıt ve Kaldırmak gibi.) HashSet da birlik, kavşak ve simetrik fark gibi standart küme işlemleri sağlar.2*

  1. Setleri farklı uygulamaları vardır. Bazı ekleme ve arama işlemleri süper hızlı elemanları karma. Ancak bu unsurlar eklendi siparişi kayıp anlamına gelir. Diğer uygulamalar yavaş çalışan kat pahasına ekledi düzeni korumak.

C HashSet sınıfı# ilk yaklaşım için, böylece giderdeğilöğelerin sırasını korumak. Çok daha hızlı düzenli bir Liste daha. Bazı temel kriterler HashSet İlköğretim tipleri (int, double, bool, vb.) ilgili terbiyeli daha hızlı olduğunu gösterdi. Sınıf nesneleri ile çalışırken çok daha hızlı. Yani bu noktadan HashSet hızlı olmasıdır.

HashSet tek yakalamak endeksleri tarafından erişim yok. Ya bir sayacı kullanmak veya yerleşik işlev bir Liste haline dönüştürmek HashSet ve yinelemek kullanabilirsiniz elemanları erişmek için*.3*

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007