Linked List

Linked List merupakan koleksi linear dari data, yang disebut sebagai nodes, dimana setiap node akan menunjuk pada node lain melalui sebuah pointer. Linked List dapat didefinisikan pula sebagai kumpulan nodes yang merepresentasikan sebuah sequence. 

Pada pertemuan hari ini ada tiga materi yang dipelajari, yaitu circular single linked list, doubly linked list, dan circular doubly linked list.


1. Circular Single Linked List
Single Linked List adalah sekumpulan dari node yang saling terhubung dengan node lain melalui sebuah pointer. Circular Linked List merupakan suatu linked list dimana tail (node terakhir) menunjuk ke head (node pertama). Jadi tidak ada pointer yang menunjuk NULL. Ada 2 jenis Circular Linked List, yaitu Circular Single Linked List dan Circular Double Linked List.

Circular Single Linked List adalah suatu linked list dimana tail menuju ke head dan hanya memiliki satu arah, serta tidak memiliki nilai NULL. Operasi Circular Single Linked List hampir sama dengan operasi pada Single Linked List. 




2. Doubly Linked List / Double Linked List
Sesuai namanya, Double artinya blok data yang kita miliki akan memiliki 2 penunjuk kiri dan kanan untuk menentukan data sebelum/sesudahnya. Berbeda dengan single linked list yang hanya mempunyai satu penunjuk, double linked list mempunyai 2 penunjuk kiri dan kanan untuk menentukan urutan datanya. Jadi, Double Linked List adalah elemen-elemen yang dihubungkan dengan dua pointer dalam satu elemen dan list dapat melintas baik di depan (head) atau belakang (tail). Elemen  double linked list terdiri dari tiga bagian :
1. Bagian data informasi 
2. Pointer next yang menunjuk ke elemen berikutnya 
3. Pointer prev yang menunjuk ke elemen sebelumnya 


Operasi yang biasanya ada di dalam sebuah doubly linked list pada dasarnya sama dengan yang ada di dalam single linked list, yakni:
1. Push / Insert
Sama seperti dalam single linked list, pertama kita harus mengalokasikan node baru dan menetapkan nilainya, dan kemudian kita menghubungkan node dengan linked list yang ada.
2. Pop / Delete
Ada 4 kondisi yang harus kita perhatikan saat melakukan Pop/Delete:
- Node yang akan dihapus adalah satu-satunya node dalam linked list.
- Node yang akan dihapus adalah head.
- Node yang akan dihapus adalah tail.
- Node yang akan dihapus bukan head atau tail.


3. Circular Doubly Linked List
Circular Doubly Linked List adalah linked list dengan menggunakan pointer, dimana  setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev), serta sebuah field yang berisi data untuk node tersebut dengan pointer next dan prve-nya menunjuk ke dirinya sendiri secara circular.
 



Dibuat Oleh:
Nama : Sheila Gracia Angelina
NIM : 2301857456

Sumber:














Comments

Popular posts from this blog

Linked List, Stack, Queue

Binary Search Tree (BST)

Summary & Review 1