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

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011