What is a Linked List?
Coddy'nin Bağlı Liste - Veri Yapıları Serisi #5 kursunda ders 2 / 14.
Bir bağlı liste (linked list), her değerin kendi düğümünde (node) yaşadığı ve her düğümün bir sonraki düğüme bir işaretçi (pointer) tuttuğu bir değerler dizisidir. Liste ilk düğümünü (head) bilir; oradan next işaretçileri zincirini takip ederek diğer her düğüme ulaşırsınız.
Bir dizinin aksine, bağlı liste tek bir bitişik bellek bloğuna ihtiyaç duymaz. Başa bir öğe eklemek O(1)'dir: sadece yeni bir düğüm oluşturun ve onu mevcut head'e yönlendirin. Buradaki ödünleşim (trade-off), n-inci öğeye ulaşmanın O(n) olmasıdır, çünkü zinciri her seferinde bir düğüm olacak şekilde yürümemiz gerekir.
Bir bağlı liste üzerindeki beş ana işlem şunlardır:
- AddFirst: Listenin başına bir değer ekler.
- AddLast: Listenin sonuna bir değer ekler.
- Get: Belirli bir indeksteki değeri döndürür.
- Remove: Belirli bir indeksteki değeri siler.
- Size: Şu anda saklanan değerlerin sayısını döndürür.
Önce bir Node sınıfı oluşturalım, ardından bunun üzerine LinkedList'i inşa edelim!
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bağlı Liste - Veri Yapıları Serisi #5 bölümündeki tüm dersler
Kendi başına pratik yap: Online C derleyicisi