Listede gezme
- Algoritmalar kursu
- Başlangıç
- Ders 59/80
- 4 dk
Başlangıç düğümünden başlayıp sona kadar gezmeyi öğrenirsin.
Düğüm ekleme
Bağlı listenin başına düğüm eklemek O(1)'dir: yeni düğümün next'i head olur, head yeni düğüm olur.
Sona eklemek ise O(n)'dir çünkü son düğümü bulmak için tüm listeyi gezmek gerekir.
Düğüm arama
Bağlı listede bir değer aramak için listede gezersin ve her düğümün datasını kontrol edersin. Bu, O(n)'dir.
Dizideki ikili arama burada çalışmaz çünkü bağlı listede doğrudan erişim yoktur ve sıralı olsa bile orta düğüme ulaşmak O(n) sürer.
Uygulama Liste uzunluğu
list_length(head) yaz. Düğümleri say ve döndür. print(list_length(make_chain())) ile 3 yazdır.
Başlangıç kodu
def list_length(head):
# Uzunluk hesaplaÖrnek çözüm
def list_length(head):
# Uzunluk hesapla
count = 0
node = head
while node is not None:
count = count + 1
node = node['next']
return count
print(list_length(make_chain()))Beklenen çıktı
3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Listede gezme: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
Başa ekle |
O(1) hızlı |
Sona ekle |
O(n) gezme |
Arama |
O(n) tarama |
Gezme |
O(n) ziyaret |
2 Bağlı listenin başına ekleme ne kadar sürer?
- O(n)
- O(n^2) Doğru cevap
- O(1)
- O(log n)
Açıklama: Başa ekleme O(1)'dir.
3 Başa ekleme
Yeni düğümün next'i ____ olur.
Yeni düğümün next'i head olur.
Açıklama: head doğru.