Gnome Sıralaması (Gnome Sort) Algoritma Mantığı ve Uygulaması

Uzun bir aradan sonra sıralama algoritmalarına kaldığımız yerden devam edelim istedim. Bu yazımda Gnome (sözlük karşılığı: cüce) Sıralamasından bahsedeceğim. Kabarcık sıralamasına oldukça benzerliği var. Anlaşılması çok zor olmayacaktır.

Çok fazla bilgi bulunmamakla birlikte karşılaştığım bir bilgiyi de paylaşayım: algoritma 2000 yılında, Hamid Sarbazi-Azad tarafından bulunmuştur. Eski adı Stupid Sort (Aptal Sıralaması) imiş. Bkz: Wikipedia

Örnek sayı dizimizi de verelim: 2, 4, 48, 12, 56

Algoritmamız şu yolu izliyor:

  1. 1 indisli ile 0 indisli elemanlarımızı alıyor ve karşılaştırıyor.
  2. üst indisteki eleman büyük olduğu sürece geriye dönmeden devam eder.
  3. Fakat ilerleyen sıralarda küçük sayıyla karşılaşıldığında geriye doğru döner ve o küçük sayının yerini karşılaştırarak bulur.
  4. Sonra tekrar kaldığı indisten devam eder. Bu döngü sonunda dizimiz küçükten büyüğe doğru sıralamış oluruz.

Daha akılda kalıcı olması açısından sizlere bulduğum bir animasyonu paylaşayım:

Sorting_gnomesort_anim

Uygulama da nasıl olacak bir de ona bakalım;

C Çıktısı:

gnomesortcpp

C Dili için Kaynak Kod

 Java Çıktısı:

gnomesortjava

Java Dili için Kaynak Kod

Bu yazı Algoritma kategorisine gönderilmiş ve , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir