Merge Sort (Birleştirme Sıralaması) Algoritması
  1. Anasayfa
  2. Algoritmalar

Merge Sort (Birleştirme Sıralaması) Algoritması

0

Sıralama algoritmalarını ele aldığımız makale serimizin bu bölümünde Merge Sort yani sıralama algoritmalarını ele alacağız.

Sıralamak istediğimiz diziyi orta noktasından eşit olarak iki alt diziye ayırdığımızı düşünelim. Ardından bu ayrılan dizileri de en fazla iki elemanlı olana kadar tekrar ayırmaya devam ederiz. Alt dizileri kendi içerisinde sıralar ve sıralı iki alt diziyi birleştirerek yek bir sıralanmış dizi elde ederiz. Bu yüzden bu yöntem de böl ve yönet yöntemlerinden bir tanesidir.

Özetle diziyi ikiye böleriz, çıkan dizileri de ikiye böleriz. Elde edilen parçalar 2 veya daha küçük eleman sayısına ulaştıysa dururuz ulaşmadıysa bölmeye devam ederiz. Elde ettiğimiz her bir parçayı kendi içinde sıralarız. Her bölünmüş parçayı sırasına göre birleştiririz. Tek bir bütün olana dek parçaları birleştirmeye devam ederiz. Tek bir bütün olduğunda dizi sıralanmış olacaktır.

Örnek:

36,26,42,4,10,80,11 sayılarından oluşan diziyi Merge Sort algoritması kullanarak sıralayalım.

  1. Diziyi ikiye bölerek yeniden yazarız.
  2. 36,26,42,4      ve        10,80,11
  3. Şimdi sol ve sağdaki dizileri tekrar ikiye böleriz.
  4. 36,26  –   42,4       ve    10,80   –  11
  5. şimdi tek eleman kalana kadar bir kez daha bölüyoruz.
  6. 36 –  26  –   42  –  4  –   10  –  80  –  11 oluyor.
  7. şimdi ikili ikili sıralayarak birleştiriyoruz.
  8. 26,36  –  4,42   –   10,80   –  11
  9. şimdi bu ikilileri birleştiriyoruz.
  10. 4,26,36,42     –     10,11,80
  11. şimdi bu son dizileri birleştiriyoruz ve sıralanmış dizimizi elde ediyoruz.
  12. 4,10,11,26,36,42,80  

Zaman Karmaşıklığı:

Recursive bir fonksiyon olduğu için sürekli kendini çağırarak diziyi hep ikiye bölmektedir. Her bölünmüş dizinin Merge işlemi için de dizinin uzunluğu olan N işlem yapıldığından karmaşıklık maliyeti O(n*logn) olacaktır.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

Algoritmalara Giriş:  Thomas H. CormenCharles E. LeisersonRonald L. RivestClifford Stein

www.mshowto.org

TAGs: Merge Sort, Sorting Algorithms

Bu İçeriğe Tepkin Ne Oldu?
  • 2
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Konya Teknik Üniversitesi Bilgisayar Mühendisliği Doktora programında tez dönemi öğrenciliğim devam etmektedir.İş hayatıma Vodafone'da Test Mühendisi olarak başladıktan sonra şuan bir üniversitede Sistem Uzmanı ve Siber Güvenlik Ofis Yöneticisi pozisyonunda çalışmaktayım.Başlıca uzmanlık alanlarım arasında Sistem yöneticiliği ve Siber Güvenlik gelmektedir.Asp.net ile Proje Geliştirme (2015), Bilgisayar Mühendisliğine Giriş (2020), Güvenlik Tasarım Desenleri (2022) kitaplarının yazarıyım.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir