Geri al stack'i
- Algoritmalar kursu
- Orta seviye
- Ders 46/80
- 4 dk
Yapılan işlemleri stack'e ekleyen kodu yazarsın.
Geri al stack'i
Şimdi stack'e işlem ekleyen fonksiyonu yazacağız. init_undo önceki dersten geliyor ve burada kullanılacak.
Push işlemi: stack.append(action) ile işlem stack'in sonuna eklenir. LIFO olduğu için en son eklenen en üstte durur ve ilk olarak geri alınır.
Birkaç işlem ekleyip stack'in büyümesini ve durumunu görebiliriz; bu geri al geçmişini izler.
İşlem listesi
İşlemler string olarak temsil edilir: 'ekle', 'sil', 'değiştir'. Her işlem stack'e eklenir ve geri al geçmişini oluşturur.
Birden fazla işlem eklenirse, stack büyür. En son eklenen en üstte; geri alındığında ilk olarak o çıkar ve geçmişten silinir.
Stack'in boyutu, yapılabilecek geri al sayısını gösterir; boş stack geri alacak bir şey olmadığını belirtir.
Uygulama İşlem ekle
push_undo(stack, action) yaz. Stack'e ekle, stack döndür. s = init_undo(); push_undo(s, 'ekle'); push_undo(s, 'sil'); print(s) ile ['ekle', 'sil'] yazdır.
Başlangıç kodu
def init_undo():
# Boş geri al yığını
return []
def push_undo(stack, action):
# Geri al yığınına ekleÖrnek çözüm
def init_undo():
# Boş geri al yığını
return []
def push_undo(stack, action):
# Geri al yığınına ekle
stack.append(action)
return stack
s = init_undo()
push_undo(s, 'ekle')
push_undo(s, 'sil')
print(s)Beklenen çıktı
['ekle', 'sil']
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Stack push hangi metodu kullanır?
- pop
- insert
- append Doğru cevap
- remove
Açıklama: append
2 Push dönüşü
stack.append(action)
return ____
stack.append(action)
return stack
Açıklama: stack doğru.
3 Geri al stack'i: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
append |
Push |
pop |
Çıkar |
LIFO |
Son ilk |
Stack |
Geri al |