Bağlı Liste
Veri Yapıları O(n) search O(n)İşaretçilerle zincirlenmiş düğümler: başa O(1) ekleme, arama ya da silme için sırayla gezinme.
Kodu adım adım izlemek için bir işlem seçin.
DeğişmezHer düğüm sonrakini gösterir; head tek giriş noktasıdır, bu yüzden başa ekleme O(1) iken indeksle erişim değildir.
linked-list.c
typedef struct Node {int data;struct Node *next;} Node;Node *pushFront(Node *head, int value) {Node *node = malloc(sizeof(Node));node->data = value;node->next = head;return node;}Node *removeValue(Node *head, int value) {if (head == NULL) return NULL;if (head->data == value) {Node *rest = head->next;free(head);return rest;}head->next = removeValue(head->next, value);return head;}
Bağlı Liste nasıl çalışır?
Her düğüm bir değer ve sonrakine işaretçi tutar. Rastgele erişim yoktur — k. elemana k bağlantı yürüyerek ulaşılır — ama başa ekleme tek işaretçi değişimidir.
En iyi durum
Baştan ekleme/çıkarma: O(1).
En kötü durum
Değere göre arama veya silme: O(n) yürüyüş.
Ne zaman kullanılır?
Uçlarda sık ekleme/silme, bilinmeyen boyut veya hash tablolarının zincirleri.