CodeBlanks Logo Icon CodeBlanks

Özet - Selection sort

Selection sort uygulayan mini görev yaparsın.

Özet - Selection sort

Bu grupta selection sort'un mantığını, minimum bulmayı, yer değiştirmeyi ve tam sıralamayı öğrendin. Karmaşıklık her zaman O(n^2)'dir.

Selection sort, az yer değiştirme yapar (n-1) ama çok karşılaştırma yapar (n^2). Basit ama yavaştır.

Uygulama Selection sort adımı

selection_step(arr, i) yaz. i'den sonraki minimimi bul ve arr[i] ile değiştir. print(selection_step([3, 1, 2], 0)) ile [1, 3, 2] yazdır.

Başlangıç kodu

solution.py
def selection_step(arr, i):
    # Bir adım yap

Örnek çözüm

solution.py
def selection_step(arr, i):
    # Bir adım yap
    min_idx = i
    for j in range(i + 1, len(arr)):
        if arr[j] < arr[min_idx]:
            min_idx = j
    arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr
print(selection_step([3, 1, 2], 0))

Beklenen çıktı

[1, 3, 2]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Özet - Selection sort: kavramları eşleştir

Kavram Anlamı
Selection sort En küçüğü seç
Minimum İndeks bul
Swap Yer değiştir
O(n^2) Her zaman

2 Selection sort

Soru
Selection sort her adımda ____ bulur.
Cevap
Selection sort her adımda en küçüğü bulur.

Açıklama: en küçüğü doğru.

3 Selection sort kaç yer değiştirme yapar?

  • n^2
  • n log n
  • 1 Doğru cevap
  • n-1

Açıklama: En fazla n-1 yer değiştirme yapar.

Başlangıç bölümündeki tüm dersler