20 Ekim 2019 Pazar

C Programlama İnsertion Sort

İnsertion Sort Nedir?
Türkçe ismi Sokma Sıralaması olan İnsertion Sort algoritması diğer sıralama algoritmalarına nazaran kodlaması oldukça kolaydır. Kodlanması kolay olduğu gibi uygulanması da kolaydır. Genelde kart oyunlarında insanlar elindeki kartları sıralamak için farkında olmadan bu algoritmayı uygulamaktadır. Ancak karmaşıklığı N^2 olduğu için verimli bir algoritma sayılmaz.
 İnsertion Sort Nasıl Çalışır?
Algoritmada döngümüz her bir tur döndüğünde sıradaki elemanı sondan başa doğru karşılaştırarak yerine yerleştirme esaslı çalışmaktadır.

Kaba kodu verdikten sonra açıklamaya devam edelim:

Az önce de dediğim gibi üstteki for döngüsü her bittiğinde dizideki i. elemanı yani ‘deger‘ değişkeni doğru yerini bulmuştur. Doğru derken kastettiğim 0 ile i arasındaki doğru yerini bulmuştur. Döngü en sona geldiğinde 0 dan n-1 e kadar herkes doğru yerini bulduğu için dizi sıralanmıştır.
Hemen bir örnek vererek daha rahat kavramaya çalışalım.


Not: ‘[‘ ve ‘]’ ayraçlarıyla ayrılmış kısım halihazırda sıralanmış aralığı temsil eder.
Başlangıç
[10] 3 9 2 1

1. Adım
[3 10] 9 2 1
2. Adım
[3 9 10] 2 1
3. Adım
[2 3 9 10] 1
4. Adım
[1 2 3 9 10]


C Kodu





Hiç yorum yok:

Yorum Gönderme