SORU
1 EYLÜL 2015, Salı


Neden Koleksiyon yapar.sıralama Mergesort ama Dizi kullanın.sıralama değil mi?

FIRSATLAR-8 (64) kullanıyorum. Arrays.sort Java belgelerinde aşağıdaki bulundu:

Sıralama algoritması Çift bir ÖzetQuicksortVladimir Yaroslavskiy, Jon Bentley, ve Joshua Bloch.`

1 ** I buldum:

Bu uygulama istikrarlı, uyumlu, bir yinelemelimergesort... Bu uygulamadöker belirtilen listeyi bir diziye sıralar dizive liste dizideki karşılık gelen konumu , her öğe sıfırlama yineler.

Collections.sort bir dizi kullanır, neden sadece Arrays.sort veya çift-pivot çağrı kullanmazQuickSort? Neden kullanınMergesort?

CEVAP
1 EYLÜL 2015, Salı


API sağlarkararlıhangi Quicksort sıralama sunmuyor. Sıralama ancakilkel değerlerdoğal düzenine göre ilkel değerleri hiçbir kimlik gibi bir fark olmayacak. Bu nedenle, Quicksort, biraz daha etkili olduğu gibi, temel bir dizi için kullanılır.

Nesneleri eşit equals kendi uygulamasına göre kabul edilir veya Comparator verilen nesneleri kendi sırasını değiştirmek, fark edebilirsiniz. Bu nedenle, Quicksort bir seçenek değil. MergeSort bir varyantı kullanılır Yani, mevcut Java sürümleri kullanınTimSort. Bu sıralama algoritmaları geçersiz kendisi olabilir, Arrays.sort Collections.sort Java 8, List ile ama her ikisi için de geçerlidir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • RinconDynamic

    RinconDynami

    1 EKİM 2011
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009