Bir kişi kabarcık sıralama algoritmasının seçmeli sıralama algoritmasına göre daha hızlı çalıştığını iddia etmektedir. Bu iddiayı test etmek için bir program yazılması gerekmektedir.

Rapor et
Soru

Bu soru rapor edilmelidir hissediyorum neden kısaca açıklayınız.

Rapor et
İptal

• Kullanıcıya kaç tekrar yapılmasını istediği sorulur.
• Bu sayı kadar iki algoritmada çalıştırılır. Çalışma için harcanan süreler hesaplanır.
• Her iki algoritma için de en büyük, en küçük, ortalama çalışma süreleri ve ortalamalar arasındaki
fark kullanıcıya gösterilir.
• Ortalama değere göre testin sonucu kullanıcıya gösterilir.
Sınıfınızın yapısı
main method
• Kullanıcıdan tekrar sayısını alır.
• Bu sayıyı kullanarak cokluCalistir() methodunu çağırır.
• Algoritmalar arası ortalama çalışma süresi farkını kullanıcıya pozitif değer olarak gösterir.
• Sonucu kullanıcıya bildirir.
• “Varsayım doğruymuş. Kabarcık Sıralaması Algoritması daha hızlı sonuç verdi.”
• “Varsayım yanlışmış. Seçmeli Sıralama Algoritması daha hızlı sonuç verdi.”
secmeliSiralama method
• Kendisine gönderilen sayıları seçmeli sıralama algoritmasını kullanarak sıralar ve çalışma
süresini geri döndürür.
kabarcıkSıralama methodu
• Kendisine gönderilen sayıları kabarcık sıralama algoritmasını kullanarak sıralar ve çalışma
süresini geri döndürür.
cokluCalistir methodu
• Belirlenen tekrar sayısı kadar iki algoritmayı çalıştırır.
• Her defasında farklı olmak üzere 100 ile 1000 arasında rastgele üretilen 2560 tane sayıyı
kullanır.
• Sonuçlar iki boyutlu bir dizide saklanır. Dizinin [0][] indeksi kabarcık sıralaması için harcanan
süreleri, [1][] indeksi ise seçmeli sıralama için harcanan süreleri tutar.
• Her iki algoritmanın da minimum ve maksimum çalışma sürelerini bulur ve kullanıcıya gösterir.
• Algoritmaların ortalama çalışma sürelerini hesaplar.
• İki ortalama arasındaki farkı geri döndürür.
Notlar:
– Methodlar static olmayacak, nesne oluşturma yoluyla methodlara erişim sağlanacaktır.
– İki algoritmada da aynı sayılar kullanılacaktır.
– Algoritmanın sıralama için harcadığı süreleri aşağıdaki method yardımıyla hesaplayabilirsiniz.
System.currentTimeMilles();
Kullanım örneği: long baslangic= System.currentTimeMilles();
//yapılan islemler
long bitis= System.currentTimeMilles();
long gecenSure =bitis-baslangic;

0
Java 3 sene 0 Cevap 571 görüntüleme Intern 0

Yazar HakkındaIntern

Cevap bırak

Gözat

KOD PAYLAŞIRKEN DİKKAT!!!!

HTML kod paylaşmak için

<pre class="html">HTML KOD</pre>
XML kod paylaşmak için
<pre class="xml">XML KOD</pre>
Diğer dillerde(php,java,android,javasvript,c# vs..) kod paylaşmak için
<pre>KOD</pre>
tagları arasında paylaşmayı unutmayın.