CodeBlanks Logo Icon CodeBlanks

Özet - Insertion sort

Insertion sort uygulayan mini görev yaparsın.

Özet - Insertion sort

Bu grupta insertion sort'un mantığını, kaydırma işlemini, tam sıralamayı ve avantajlarını öğrendin. Karmaşıklık O(n^2), en iyi O(n).

Insertion sort, neredeyse sıralı dizilerde ve küçük verilerde tercih edilir. Yerinde sıralar ve az yazma yapar.

Uygulama Tam insertion sort

insertion_full(arr) yaz. for ve while ile sırala. print(insertion_full([3, 1, 4, 1, 5, 9, 2, 6])) ile [1, 1, 2, 3, 4, 5, 6, 9] yazdır.

Başlangıç kodu

solution.py
def insertion_full(arr):
    # Tam sırala

Örnek çözüm

solution.py
def insertion_full(arr):
    # Tam sırala
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1
        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j = j - 1
        arr[j + 1] = key
    return arr
print(insertion_full([3, 1, 4, 1, 5, 9, 2, 6]))

Beklenen çıktı

[1, 1, 2, 3, 4, 5, 6, 9]

Soru ve cevaplar

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

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

Kavram Anlamı
Insertion sort Doğru yere koy
Kaydırma Sağa taşı
En iyi O(n)
Yerinde Ek bellek yok

2 Insertion sort

Soru
Insertion sort her elemanı ____ bölüme yerleştirir.
Cevap
Insertion sort her elemanı sıralı bölüme yerleştirir.

Açıklama: sıralı doğru.

3 Insertion sort neredeyse sıralı dizide ne kadar sürer?

  • O(n^2)
  • O(1) Doğru cevap
  • O(n log n)
  • O(n)

Açıklama: Neredeyse sıralı dizide O(n)'dir.

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