Tarih : | at : | Safemode : ON
> root@redhatz:~# Alımlar Başlamıştır. İletişim Bölümünden Alım Yapan Yöneticimize Ulaşabilirsiniz.
> root@redhatz:~# #redhatzopturkey 2016 Yeni Dönemi Artık Aktiftir. BİZİ TERCİH ETTİĞİNİZ İÇİN TEŞEKKÜRLER..



Başlık Yazar Yetki Comt Düzenlenen Kategori

ALGORİTMALAR - Sıralama Algoritmaları - Tarak Sıralaması wyne redhatz rwxr-xr-x 0 09:04:00

Başlık ALGORİTMALAR - Sıralama Algoritmaları - Tarak Sıralaması
Yetki rw-r--r--
Yazar wyne redhatz
Zaman 09:04:00
Kategori
Share
Tarrak Sıralaması, ilk defa 1991 yılının Nisan ayında Stephen Lacey ve Richard Box tarafından Byte dergisinde duyurulmuş yalın bir sıralama algoritmasıdır. Kendisinden önce duyurulmuş kabarcık sıralaması algoritmasından başarılıdır ve karmaşıklıkta hızlı sıralama algoritmasıyla yarışır. Algoritmanın ana fikri listenin sonundaki küçük değerli öğelerin sayısını azaltmaktır. Kabarcık sıralaması algoritmasında sıralanacak listenin sonundaki küçük değerli öğelerin varlığı algoritmayı çok yavaşlattığı için tarak sıralamasında bu değerlerin sayısının azaltılması yoluna gidilmiştir.
Kabarcık sıralaması algoritmasında iki öğe karşılaştırıldığında aralarındaki mesafe her zaman 1'dir. Başka bir deyişle, kabarcık sıralaması her zaman ardışık iki değeri karşılaştırır. Taraf sıralaması ise bunun aksine aralarındaki mesafe birden çok daha fazla olan öğeleri karşılaştırabilir. (Kabuk sıralaması da aynı düşünceyle tasarlanmıştır ancak kabuk sıralaması kabarcık sıralamasının değil seçmeli sıralamanın bir türevidir.)

SÖZDE KODU

function combsort11(array input)
    gap := input.size //öğeler arasındaki aralığın başlangıç boyutunu belirle
    
    loop until gap <= 1 or swaps = 0
        //yeni bir tarama için aralığın boyutunu güncelle
        if gap > 1
            gap := gap / 1.3
            if gap = 10 or gap = 9
                gap := 11
            end if
        end if
        
        i := 0
        swaps := 0 // Açıklama için kabarcık sıralamasına bakınız
        
        // giriş listesinin üzerinden tek bir "tarama"
        loop until i + gap >= array.size //Benzer yaklaşım için kabuk sıralamasına bakınız
            if array[i] > array[i+gap]
                swap(array[i], array[i+gap])
                swaps := 1 // Aritmetik taşma düzeltmesi için
            end if
            i := i + 1
        end loop
       
    end loop
end function
http://www.banadersanlat.com/index.php/algoritmalar/4433-s-ralama-algoritmalar-tarak-s-ralamas.html

0 yorum:

Yorum Gönder

Makalemizi Okuduysanız Yorum yapabilirsiniz. Küfürlü Yorumlar Silinir Ve Kullanıcı Engellenir. İlginiz İçin Teşekkür Ederiz
#RedHatzOpTurkey

Blogger tarafından desteklenmektedir.