Insertion sort mantığı
- Algoritmalar kursu
- Başlangıç
- Ders 29/80
- 4 dk
Kart sıralar gibi her elemanı sol taraftaki sıralı bölüme yerleştiren algoritmayı öğrenirsin.
Insertion sort mantığı
Insertion sort, bir diziyi sıralamak için her elemanı alır ve sıralı bölümdeki doğru yerine yerleştirir. Bu, kartları eline dizmeye benzer.
Başlangıçta ilk eleman sıralı sayılır. Sonra ikinci eleman alınır ve ilkine göre doğru yere konur. Bu tüm elemanlar için tekrarlanır.
Kaydırma
Bir elemanı yerleştirirken, ondan büyük olan sıralı elemanları bir adım sağa kaydırırsın. Bu, yeni eleman için yer açar.
Kaydırma, elemanları tek tek sağa taşır. Boşalan yere yeni eleman konur. Bu, yer değiştirmeden daha az yazma işlemidir.
Uygulama Kaydır ve yerleştir
insert_in_place(arr, i) yaz. arr[i]'yi sıralı bölüme doğru yerleştir. print(insert_in_place([1, 3, 5, 2], 3)) ile [1, 2, 3, 5] yazdır.
Başlangıç kodu
def insert_in_place(arr, i):
# Doğru yere yerleştirÖrnek çözüm
def insert_in_place(arr, i):
# Doğru yere yerleştir
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(insert_in_place([1, 3, 5, 2], 3))Beklenen çıktı
[1, 2, 3, 5]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Insertion sort neye benzer?
- Ağaç gezmesine
- İkili aramaya
- Hash hesaplamaya
- Kart dizmeye Doğru cevap
Açıklama: Kart dizmeye benzer.
2 Sıralı bölüm
İlk ____ eleman sıralı sayılır.
İlk 1 eleman sıralı sayılır.
Açıklama: 1 doğru.
3 Insertion sort mantığı: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
Insertion sort |
Doğru yere koy |
Kaydırma |
Sağa taşı |
Sıralı bölüm |
Baş tarafta |
O(n^2) |
En kötü |