Proje: Genel bakış
- Algoritmalar kursu
- Orta seviye
- Ders 45/80
- 4 dk
Bir görev listesini stack ve queue ile yöneten mini uygulama planlarsın.
Proje: Genel bakış
Bu projede bir metin düzenleyici için geri al (undo) sistemi kuracağız. Stack, kuyruk ve durum yazdırma birikecek.
Adım 1: boş stack hazırla. Adım 2: işlem ekle. Adım 3: geri al. Adım 4: durumu yazdır.
Her ders önceki dersin çözümünü içerecek; kod birike birike büyüyor.
Stack mantığı
Stack, LIFO (last-in first-out) mantığıyla çalışır: son eklenen ilk çıkar. Geri al sistemi için idealdir.
Her işlem eklendiğinde stack'e push edilir. Geri alındığında stack'ten pop edilir. En son işlem en önce geri alınır.
Python'da liste ile uygulanır: append push, pop pop işlevidir.
Uygulama Boş stack
init_undo() yaz. Boş liste döndür. print(init_undo()) ile [] yazdır.
Başlangıç kodu
def init_undo():
# Boş geri al yığınıÖrnek çözüm
def init_undo():
# Boş geri al yığını
return []
print(init_undo())Beklenen çıktı
[]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Proje: Genel bakış: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
Adım 1 |
Boş stack |
Adım 2 |
Ekle |
Adım 3 |
Geri al |
Adım 4 |
Yazdır |
2 Geri al sistemi hangi veri yapısını kullanır?
- Kuyruk
- Stack Doğru cevap
- Ağaç
- Hash table
Açıklama: Stack
3 Push işlemi
stack.____(action)
stack.append(action)
Açıklama: append doğru.