Aralık Tabanlı Sıralama Algoritması

SonsuzUs Her şey › Category: Soru › Aralık Tabanlı Sıralama Algoritması
sonsuz Kurucu sordu 8 dakika önce

Çok iyi iki arkadaş olan Beril ile Selim kendi aralarında yeni bir sıralama algoritması geliştirmeye karar veriyorlar. Mevcut algoritmalara çok benzeyen bu algoritmanın ufak değişiklikleri bulunuyor. Belirlenen bir aralık ile tüm dizi en soldan en sağa kadar geziliyor. Eğer sağdaki sayı daha küçükse bu iki sayı yer değiştiriyor. Tüm dizi bu şekilde gezildikten sonra aralık değeri 1.3 ile bölünüp aşağı yuvarlanıyor ve aynı karşılaştırma işlemi en soldan en sağa kadar tekrar yapılıyor.

Örneğin, elimizde en soldaki sayının 0’ıncı yerde ve en sağdaki sayımızın 7’nci yerde olduğu bir dizi olsun. Eğer başlangıç aralığımız 5 ise, 0. eleman ile 5. eleman karşılaştırılacak ve ihtiyaç varsa bu iki sayı yer değiştirilecektir. Fakat hala 5. elemanın sağında bakılmamış sayılar kalacağı için kaydırma işlemi gerçekleştirilerek 1. eleman ile 6. eleman ve 2. eleman ile 7. eleman karşılaştırılmaları da yapılacaktır. Aralık büyüklüğü 5/1.3=3 (3.8, fakat aşağı yuvarlandığı için 3 oluyor) olacak şekilde güncellenip en soldan en sağa doğru karşılaştırma işlemi tekrar ediliyor. Bu işlemler aralık sayısı 1’in altına inene kadar tekrar ediliyor.

Eğer verilen dizide 8 eleman varsa ve başlangıç aralığımız 8 ise kaç adet karşılaştırma işlemi gerçekleştirilmiş olacaktır?

Cevapla