07.09.2024

0

Beğenme

19

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

Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.