Tugas GSLC Data Structure : Linked List II

Sub Topik:

  • Circular Single Linked List
  • Doubly Linked List
  • Circular Doubly Linked List

Selamat datang di post saya yang satu ini, Nama saya Naufal Rifki Fauzan dan kali ini saya akan membahas tugas GSLC Data Structure saya yang mana membahas tentang Linked List II. Saya akan memberikan yang terbaik untuk menjelaskan kepada anda tentang materi Linked List ini, selamat membaca!


Linked List

Sebelum saya masuk ke materi, saya akan menjelaskan tentang pengertian Linked List terlebih dahulu. Linked List adalah sebuah struktur data yang terdiri dari beberapa rangkaian catatan data, yang mana di setiap catatan terdapat referensi tentang catatan lainnya yang berada dalam urutan berikutnya dalam rangkaian. 

Linked List bisa terbagi menjadi 3, yaitu:
  1. Circular Single Linked List
  2. Doubly Linked List
  3. Circular Doubly Linked List

Circular Single Linked List

Sebelum saya masuk ke Circular Single Linked List, saya akan menjelaskan terlebih dahulu tentang Singly Linked List. Singly Linked List adalah salah satu jenis linked list yang merupakan koleksi data elemen yang berbentuk linear yang mana juga disebut sebagai 'Nodes'. Elemen-elemen dari linked list ini bisa disimpan di lokasi memori yang berurutan ataupun tidak disimpan sama sekali. Pada linked list ini, pointer digunakan untuk mempertahankan urutan linear. Pada setiap nodes dibagi menjadi 2 bagian, bagian pertama yaitu 'INFO Field', bagian ini berisi info dari elemen-elemen linked list, lalu bagian kedua yaitu 'LINK Field' atau bisa disebut juga 'NEXT Pointer Field', bagian ini berisi alamat-alamat dari nodes selanjutnya. 
Nah, Circular Single Linked List sebenarnya hampir sama dengan Singly Linked List, perbedannya hanya pada Circular Single Linked List, node terakhir akan menunjuk kembali ke node paling awal pada urutan. 
Berikut adalah contoh dari Circular Single Linked List,



Pada gambar di atas kita bisa melihat bahwa, setiap node menunjuk ke node berikutnya dalam urutan tetapi node terakhir menunjuk ke simpul pertama dalam daftar. Elemen sebelumnya menyimpan alamat elemen berikutnya dan elemen terakhir menyimpan alamat elemen awal. Ini membentuk rantai melingkar karena elemen menunjuk satu sama lain secara melingkar. Kita bisa menyisipkan elemen di mana saja linked list ini, tetapi tidak dalam array karena berada dalam memori yang berdekatan.


Doubly Linked List

Doubly Linked List adalah urutan elemen di mana setiap simpul memiliki link ke simpul sebelumnya dan simpul berikutnya. Doubly Linked List terdiri da tiga bidang. Dalam hal ini, link dua node memungkinkan lintasan daftar di kedua arah tanpa perlu melintasi daftar untuk menemukan node sebelumnya. Kita dapat melintasi dari FISRT ke LAST serta LAST ke FIRST.
Pada linked list ini, setiap node terbagi menjadi 3 bagian;
  1. Bagian pertama adalah bagian PREV. Bagian ini adalah bidang pointer sebelumnya yang berisi alamat dari node yang ada sebelum node saat ini.
  2. Bagian kedua adalah bagian INFO. Bagian ini berisi informasi dari elemen.
  3. Bagian ketiga adalah bagian NEXT. Bagian ini adalah bidang pointer berikutnya yang berisi alamat dari node yang setelah node saat ini.
Berikut adalah contoh dari Doubly Linked List,


Ada dua pointer FIRST dan LAST, FISRT menunjuk ke node pertama dalam daftar, dan LAST menunjuk ke node terakhir dalam daftar. Bidang PREV dari node pertama dan bidang NEXT dari node terakhir berisi nilai NULL, ini menunjukkan akhir daftar di kedua sisi. Daftar ini dapat dilalui di kedua arah yang maju dan mundur.


Circular Doubly Linked List

Doubly Linked List adalah linked data structure yang terdiri dari sekumpulan catatan terkait berurutan yang disebut 'Nodes'. Doubly Linked List dapat digambarkan sebagai dua Singly Linked List yang dibentuk dari item data yang sama, tetapi dalam urutan berurutan yang berlawanan.
Berikut adalah contoh dari Circular Doubly Linked List,


Diagram di atas merupakan struktur dasar dari Circular Doubly linked List. Dalam Circular Doubly linked List, link sebelumnya dari node pertama menunjuk ke node terakhir dan link berikutnya dari node terakhir menunjuk ke node pertama.
Dalam Circular Doubly linked List, setiap node berisi dua bidang yang disebut link yang digunakan untuk mewakili referensi ke node sebelumnya dan berikutnya dalam urutan node.


Demikian penjelasan saya mengenai Circular Single Linked List, Doubly Linked List, dan Circular Doubly Linked List.

Referensi:













Comments