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

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • colacas

    colacas

    29 EKİM 2006
  • Edge-CGI 3D Tutorials and more!

    Edge-CGI 3D

    11 HAZİRAN 2013