Tuesday, February 25, 2020

GSLC 1


Linked List adalah urutan data yang saling berhubungan.

CIRCULAR LINKED LIST
Circular linked list merupakan linked list dimana pointer tail menunjuk kepada pointer head dari linked list itu sendiri. Berbeda dari Single Linked List, Circular Single Linked List pada praktiknya tidak akan memiliki pointer yang menyimpan nilai NULL, karena semuanya saling terkoneksi membentuk loop.

DOUBLY LINKED LIST
Konsep double linked list sama seperti single linked list tapi yang membedakan yaitu setiap node mamiliki 2 hubungan yaitu dengan list sesudahnya dan sebelumnya.Dengan kata lain setiap node memiliki 2 pointer.
DOUBLY LINKED LIST: INSERT
Saat akan memasukka suatu list ke list yang sudah ada harus memperhatikan 2 node yang akan di geser agar list pointer next list sebelum menunjuk ke list kita yang baru dan pointer prev node sesudah menunjuk ke node baru.
DOUBLY LINKED LIST: DELETE
Ada 4 kondisi yang harus diperhatikan saat ingin mendelete suatu node:
1.      Node tersebut adalah satu satunya node dalam linked list
2.      Node tersebut adalah head
3.      Node tersebut adalah tail
4.      Node tersebut bukan merupakan head maupun  tail
CIRCULAR DOUBLY LINKED LIST
Mirip dengan single linked list circular doubly linked list seolah olah memiliki 2 loop yaitu:
1.      Loop 1: saat berada di node terakhir pointer next menunjuk ke head node
2.      Loop 2: saat berada di node pertama pointer prev  menunjuk ke tail node