CodeBlanks Logo Icon CodeBlanks

Düğüm tanımı

Düğümün veri ve next alanlarından oluştuğunu öğrenirsin.

Listede gezme

Bağlı listede gezmek için head'ten başlayıp node = node['next'] ile ilerlersin. node None olana kadar devam eder.

Gezme O(n)'dir çünkü her düğümü sırayla ziyaret etmen gerekir. Dizideki arr[i] gibi doğrudan erişim yoktur.

Uzunluk hesaplama

Bağlı listenin uzunluğunu bulmak için gezme yapar ve düğümleri sayarsın. Her düğüm için sayacı bir artırırsın.

Bu işlem O(n)'dir. Dizideki len(arr) gibi O(1) değildir çünkü bağlı listede uzunluk saklanmaz.

Uygulama Listeyi gez

traverse_list(head) yaz. Her düğümün datasını yazdır. traverse_list(make_chain()) çağrısı 1, 2, 3 yazsın.

Başlangıç kodu

solution.py
def traverse_list(head):
    # Listeyi gez

Örnek çözüm

solution.py
def traverse_list(head):
    # Listeyi gez
    node = head
    while node is not None:
        print(node['data'])
        node = node['next']
traverse_list(make_chain())

Beklenen çıktı

1
2
3

Soru ve cevaplar

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

1 Gezme

Soru
Gezme: node = node[____] ile ilerle.
Cevap
Gezme: node = node['next'] ile ilerle.

Açıklama: 'next' doğru.

2 Düğüm tanımı: kavramları eşleştir

Kavram Anlamı
head Başlangıç
next İlerle
None Bitiş
O(n) Gezme

3 Bağlı listede gezme karmaşıklığı nedir?

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

Açıklama: Gezme O(n)'dir.

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