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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • maxman.tv

    maxman.tv

    29 EKİM 2013