Sıralama Algoritmaları Görselleştirici

Böl ve Fethet algoritması - Diziyi ikiye böl, sırala ve birleştir

Algoritma Seçimi

Dizi Girişi

En az 2 sayı girin. Sayılar 1-999 arasında olmalıdır.

Başlangıç Dizisi

38
0
27
1
43
2
3
3
9
4
82
5
10
6
Normal
Karşılaştırma
Yer Değiştirme
Sıralı
Hız:
Yavaş

Merge Sort Algoritması

def mergeSort(arr):
    if len(arr) <= 1:
        return arr

    mid = len(arr) // 2
    leftHalf = arr[:mid]
    rightHalf = arr[mid:]

    sortedLeft = mergeSort(leftHalf)
    sortedRight = mergeSort(rightHalf)

    return merge(sortedLeft, sortedRight)

def merge(left, right):
    result = []
    i = j = 0

    while i < len(left) and j < len(right):
        if left[i] < right[j]:
            result.append(left[i])
            i += 1
        else:
            result.append(right[j])
            j += 1

    result.extend(left[i:])
    result.extend(right[j:])

    return result