Düğüm tanımı
- Algoritmalar kursu
- Başlangıç
- Ders 58/80
- 4 dk
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
def traverse_list(head):
# Listeyi gezÖrnek çözüm
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
Gezme: node = node[____] ile ilerle.
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.