07.09.2024

0

Beğenme

9

Görüntülenme

Veri Yapıları Ve Algoritmalar Merge Sort

Merge Sort

Merge Sort, "böl ve fethet" stratejisini kullanan bir sıralama algoritmasıdır. Algoritma, diziyi ikiye böler, her iki parçayı ayrı ayrı sıralar, ve sonunda iki sıralı parçayı birleştirir.

Aşamalar:

Başlangıç dizisi: [16, 21, 11, 8, 12, 22]

  1. Bölme Aşaması:
    • İlk olarak diziyi ortadan ikiye böleriz.
    • İlk parça: [16, 21, 11]
    • İkinci parça: [8, 12, 22]
  2. Bölme Aşaması (İlk Parça):
    • [16, 21, 11] parçasını ikiye böleriz.
    • İlk parça: [16]
    • İkinci parça: [21, 11]
  3. Bölme Aşaması (İkinci Parça):
    • [21, 11] parçasını ikiye böleriz.
    • İlk parça: [21]
    • İkinci parça: [11]
  4. Birleştirme Aşaması (İkinci Parça - [21, 11]):
    • [21] ve [11] parçasını sıralı şekilde birleştiririz.
    • Sonuç: [11, 21]
  5. Birleştirme Aşaması (İlk Parça - [16, 21, 11]):
    • [16] ve [11, 21] parçasını sıralı şekilde birleştiririz.
    • Sonuç: [11, 16, 21]
  6. Bölme Aşaması (İkinci Parça):
    • [8, 12, 22] parçasını ikiye böleriz.
    • İlk parça: [8]
    • İkinci parça: [12, 22]
  7. Bölme Aşaması (İkinci Parça - [12, 22]):
    • [12, 22] parçasını ikiye böleriz.
    • İlk parça: [12]
    • İkinci parça: [22]
  8. Birleştirme Aşaması (İkinci Parça - [12, 22]):
    • [12] ve [22] parçasını sıralı şekilde birleştiririz.
    • Sonuç: [12, 22]
  9. Birleştirme Aşaması (İkinci Parça - [8, 12, 22]):
    • [8] ve [12, 22] parçasını sıralı şekilde birleştiririz.
    • Sonuç: [8, 12, 22]
  10. Son Birleştirme Aşaması:
    • [11, 16, 21] ve [8, 12, 22] parçasını sıralı şekilde birleştiririz.
    • Sonuç: [8, 11, 12, 16, 21, 22]

Big-O Notasyonu:

  • Worst Case (En Kötü Durum): O(n log n)
  • Best Case (En İyi Durum): O(n log n) (Merge Sort her durumda aynı şekilde çalışır)
  • Average Case (Ortalama Durum): O(n log n)

Merge Sort'un Big-O notasyonu her durumda O(n log n) olduğu için, en iyi, en kötü, ve ortalama durumlardaki performansı aynı kalır.

Yorumlar

Kullanıcı yorumlarını görüntüleyebilmek için kayıt olmalısınız!

Ahmet Abdullah Can

23 yaşında python odaklı bir yazılımcı.

Konum

İstanbul, TR

Eğitim

Bilgisayar Programcılığı - Kocaeli Üniversitesi

© 2021 Patika Dev

facebook
twitter
instagram
youtube
linkedin