PENGERTIAN LINKED LIST
- Linked list adalah sebuah struktur data linear yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan).
- Perbedaan linked list dan array adalah pada lokasi penempatan elemen, dimana pada linked list elemen tidak ditempatkan di lokasi memori yang berdekatan dan elemen-elemen tersebut dihubungkan dengan pointer.
- Terdapat beberapa macam linked list:
- Circular Single Linked List
- Doubly Linked List
- Circular Doubly Linked List
1. Circular Single Linked List
- Circular Single Linked List adalah Single Linked List yang pointer nextnya kembali menunjuk pada head linked list tersebut, sehingga terbentuk sebuah siklus berulang.
- Tidak ada storing nilai NULL pada linked list.
2. Doubly Linked List
- Doubly Linked List adalah sebuah tipe linked list yang kompleks dimana node mengandung pointer yang menunjuk ke node sebelumnya serta node berikutnya dalam sebuah urutan.
- Terdapat beberapa fungsi yang dapat dijalankan pada Double Linked List:
- Insert
- Insert dapat dilakukan dalam beberapa situasi berikut:
1. Add a node at the front
Node baru selalu ditambahkan sebelum head dari Linked List yang diberikan.
2. Add a node after a given node
Pointer ditandai ke node sebagai prev_node dan node yang baru ditambahkan setelah given node.
3. Add a node at the end
Node baru selalu ditambahkan setelah last node dari given linked list.
- Delete
- Tahapan dari delete linked list antara lain:
- Find previous node of the node to be deleted
- Change the next of previous node
- Free memory for the node to be deleted
- Delete Linked List dapat dilakukan di beberapa situasi:
- If the node to be deleted is the only node
- If the node to be deleted is head
- If the node to be deleted is tail
- If the node to be deleted is not in head or tail
3. Circular Doubly Linked List
- Sama seperti circular single linked list, tetapi seluruh node (masing-masing nya) memiliki 2 (two) pointers.
Tidak ada komentar:
Posting Komentar