Apa Itu Linked List?
Linked List adalah struktur data linear yang terdiri dari node-node. Setiap node memiliki:
- Data: Nilai yang disimpan.
- Pointer: Menunjuk ke node berikutnya.
Berbeda dengan array yang elemen-elemennya bersebelahan di memori, Linked List menyimpan data secara terpisah dan dihubungkan melalui pointer.
Jenis-Jenis Linked List
1. Singly Linked List: Satu arah (pointer ke node berikutnya).
2. Doubly Linked List: Dua arah (punya pointer ke depan dan belakang).
3. Circular Linked List: Node terakhir menunjuk kembali ke node pertama.
Keunggulan Linked List
✅ Alokasi memori dinamis
✅ Penyisipan dan penghapusan elemen efisien
✅ Cocok untuk struktur data lain seperti Stack, Queue, dan Graph
✅ Membantu efisiensi dalam pengolahan data besar
Perbandingan dengan Array
Fitur Linked List Array
Penyimpanan Tidak bersebelahan Bersebelahan
Akses Data Harus traversal Langsung lewat indeks
Ukuran Dinamis Statis
Penyisipan & Penghapusan Efisien (ubah pointer) Kurang efisien (pergeseran elemen)
Kompleksitas Waktu (Big-O)
| Operasi | Linked List | Array |
| Akses | O(n) | O(1) |
| Penyisipan / Penghapusan | O(1) | O(n) |
| Tambah di akhir | O(1) | O(1) |
Implementasi Singly Linked List dalam C++
Fungsi-fungsi utama:
- insert → Tambah node di akhir list
- display → Tampilkan seluruh isi Linked List
- remove → Hapus node berdasarkan nilai
Contoh Program:
cpp
int main() {
Node head = nullptr;
insert(head, 10);
insert(head, 20);
insert(head, 30);
cout << "Linked List sebelum penghapusan: ";
display(head);
remove(head, 20);
cout << "Linked List setelah penghapusan 20: ";
display(head);
return 0;
}
Kesimpulan
- Linked List cocok untuk manipulasi data yang dinamis.
- Lebih fleksibel dibandingkan Array, terutama dalam penyisipan dan penghapusan elemen.
- Penting dikuasai sebagai dasar untuk struktur data yang lebih kompleks.
.jpg)
Komentar
Posting Komentar