Selection Sort
Davut KARA tarafindan 28.02.2020 tarihinde gonderildi.
Nedir
Listedeki elemanlari buyukten kucuge veya kucukten buyuge olacak sekilde siralayabilecegimiz bir algoritmadir.
Adindan da anlasilacagi uzere her dongude tercihe gore en kucuk veya en buyuk degeri secerek yine tercihe gore siranin sonuna veya basina tasiyacaktir
Nasil Calisir
Listede tercihe gore en buyuk veya en kucuk eleman bulunur, ardindan yine tercihe gore siranin sonuna veya basina tasinir. Daha sonra listenin kalani icin ayni islem uygulanir.
Avantajlar
Dongu ilk calismasinin ardindan tercih edilen (en buyuk veya en kucuk) sayiyi bulmayi garanti eder.
Ozet
Listede terch edilen en kucuk veya en buyuk sayiyi bulup yine tercih edilen en basa veya en sona tasir. Daha sonra listenin kalani icin ayni islem uygulanir.
Ornek
const list = [100, 500, 2300, 2403, 1020, 30, 40, 200, 20, 10, 0];
const n = list.length;
// her bir elemani okuyacak olan dongumuz.
for (let i = 0; i < n; i++) {
let min = i;
for(let j = i+1; j < n; j++){
if(list[j] < list[min]) {
min=j;
}
}
if (min != i) {
let tmp = list[i];
list[i] = list[min];
list[min] = tmp;
}
}