Bir sıralama algoritmasının verimliliğinin değerlendirilmesi için iki kriter esas alınır. Bunlardan biri zaman verimliliği, diğeri hafıza verimliliğidir. Bir algoritmanın hızlı çalışabilmesi için yüksek bellek kullanımı gereklidir. Aynı şekilde düşük bellek kullanan bir algoritma da daha uzun sürede çalışacağı için bu iki koşulu aynı anda sağlayan algoritmalar diğerlerine oranla başarılı sayılırlar.
Aşağıda bazı sıralama algoritmaları verilmiştir.
Selection Sort - Seçerek Sıralama
Bubble Sort - Kabarcık Sıralama
Insertion Sort - Eklemeli Sıralama
Merge Sort - Birleştirmeli Sıralama
Quick Sort - Hızlı Sıralama
Heap Sort- Yığın Sıralama
Selection Sort
Selection Sort, performans bakımından diğer sıralama algoritmalarına göre daha zayıftır. O(n²) zamanda çalışır ve bellek kullanımında ek olarak O(1) yer tutar. Eleman sayısının az olduğu dizilerde kullanılabilir.
Dizinin ilk elemanının en küçük eleman olduğunu varsayar ve tek tek diğer elemanlarla karşılaştırır. Eğer karşılaştırdığı eleman daha küçükse onu en küçük olarak alır. En küçük elemanı ilk yere atar ve diğer elemanlar için de aynı işlemi tekrarlar.
Kodu:
package com.company;
public class Main {
public static int array[]={2,1,3,7,5};
public static void main(String args[]) {
for(int i=0;i<array.length;i++){
int minIndex=i;
for(int j=i+1;j<array.length;j++){
if(array[j]<array[minIndex]){
minIndex=j;
}
}
int min=array[minIndex];
array[minIndex]=array[i];
array[i]=min;
}
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
Insertion Sort
2.elemandan başlayarak tüm elemanları kendinden önceki elemanlar ile kıyaslar daha büyük eleman varsa onun yerine koyar ve diğer elemanları bir artırır. O(n²) zamanda çalışır en iyi durumda ise O(n)'de çalışır ve bellek kullanımında ek olarak O(1) yer tutar.
2 4 1 3 5 8 7
1'de sorun var 1'i 2'nin yerine alır sonrakileri 1 kaydırır.
1 2 4 3 5 8 7
3'de sorun var 3'ü 4'ün yerine alır sonrakileri 1 kaydırır.
1 2 3 4 5 8 7
7'de sorun var 7'yi 8'in yerine alır. Son eleman dizinin en büyük elemanı olduğu için bu noktada sonlanır.
1 2 3 4 5 7 8
Yorumlar
Yorum Gönder