java

2016-03-31 13 views
-1

'daki en iyi sıralı 2B çift dizileri Şu anda bir 2B Array'ı artan kullanım seçimine göre sıralamaya çalışıyorum. ama sonuç iyi değil. i aslında çift dizinin [1000] [1000] gibi oldukça büyük bir veri var ama böyle biz örnek kullanım verileri ise:java

arrays = 10.555 1.023 5.852   
     8.856 1.001 4.483 
     1.121 5.321 1.184 
     5.123 0.834 3.151 
     15.123 7.123 1.152 

nasıl yapmak için bir 2d dizi böyle sıralama olabilir ve alabilir Daha önce sıralamayan dizinde. Dizi sıraladıktan sonra :

arrays = 1.121 0.834 1.152 
     5.123 1.001 1.184 
     8.856 1.023 3.151 
     10.555 5.321 4.483 
     15.123 7.123 5.852 

ve bunun gibi 2d dizideki böyle endeksi kaydedebilirsiniz. Bu kodun çift dizi [1000] [1000] gibi büyük veri kümelerinde kullanılabilmesini istiyorum. çözüm nedir?

+2

Yani her bir sütunu ayrı ayrı sıralamaya mı çalışıyorsunuz? Diziyi (satırları ve sütunları değiştir) dönüştürmek ve sizin için sıralamak için Java'yı kullanmak en kolay yolu olacaktır. – Teepeemm

cevap

0

Tamam, her bir sütunu ayrı ayrı sıralamak istediğiniz gibi görünüyor, bu yüzden benim varsayımın doğru olup olmadığı aşağıdaki yanıttır. Böyle bir şeyi çözmek için seçim türünü kullanmazdım. Ekleme türünü kullanacağım (daha hızlı olduğu için) ve yalnızca belirli sütunların üzerine çıkacak çift iç içe geçmiş döngüler kullanıyorum. (Örneğin, döngüyü ilk kez çalıştırdığında, yalnızca ilk sütunu ve ikinci kez çalıştırmasını sağlayın, yalnızca ikinci sütundan geçmesini sağlayın).

0

Literatürde kabul edilen çeşitli sıralama algoritmaları vardır. En hızlı olanlardan biri, tatmin edici kötü ve ortalama vaka performansı ile "Hızlı Sıralama". Böylece daha etkili bir algoritma uygulamaya çalışmak yerine kontrol etmek daha iyi olur. Bir göz atabilirsin here.