STRUKTUR DATA - Linked List

Linked List

Linked List (senarai berantai) adalah struktur data yang terdiri dari urutan record data. Dimana setiap recordnya memiliki field untuk menyimpan alamat/referensi dari record selanjutnya. Elemen data yang dihubungkan dengan link pada Linked List disebut Node. Biasanya didalam suatu linked list, terdapat istilah head dan tail. 
  • Head adalah elemen yang berada pada posisi pertama dalam suatu linked list
  • Tail adalah elemen yang berada pada posisi terakhir dalam suatu linked list

Macam - Macam Linked List

     1. Singly Linked List :
     Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya dan juga memiliki field yang             berisi data. Pembuatan Single Linked List dapat menggunakan 2 metode:
·        LIFO (Last In First Out), aplikasinya : Stack (Tumpukan)
·        FIFO (First In First Out), aplikasinya : Queue (Antrean)

2. Double 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. 

3.  Circular double linked list next dan prev nya menunjuk kedirinya sendiri secara circular (membentuk pola bundar). Setiap node pada linked list mempunyai field yang berisi data dan pointer ke node berikutnya. Untuk pembentukan node baru, mulanya pointer next dan prev akan menunjuk kedirinya sendiri. Jika sudah lebih dari satu node, maka pointer prev akan menunjuk ke node sebelumnya, dan pointer next akan menunjuk ke node sesudahnya. Semua sel yang terdapat pada list disambungkan dengan pointer, sedangkan setiap sel. memiliki tiga komponen yaitu value, pointer ke sel berikutnya.

4. Multiple Linked List merupakan suatu linked list yang memiliki lebih dar 2 buat variabel pointer. contoh :

Linked List vs Array

Linked List 
1. Jumlah Memory dapat bertambah
2. Menyimpan lokasi memori data secara berurutan
3. Indeks dapat diakses seacara acak

Array
1. Jumlah Memory sudah ditentukan
2.  Menyimpan lokasi memori data tidak berurutan
3. Indeks disimpan secara Berurutan (dari Head ke Tail)

Operasi yang Ada Pada Linked List
1. Insert : Fungsi untuk menambah sebuah simpul baru pada linked list                                                               
2. IsEmpty : Fungsi untuk menentukan apakah linked list isi atau tidak
3. FindFirst : Fungsi untuk mencari elemen pertama dari linked list
4. Find Next : Fungsi untuk mencari elemen sesudah elemen yang ditunjuk oleh now 
5. Retrive : Fungsi untuk mengambil elemen yang ditunjuk oleh now dengan isi dari sesuatu
6. Update : Fungsi untuk mengubah elemen yang ditunjuk now dengan diisi sesuatu
7. Delete Now : Fungsi untuk menghapus elemen yang ditunjuk now
8. Delete Head : Fungsi untuk menghapus elemen yang ditunjuk head
9. Clear : Fungsi untuk menghapus linked list

Sumber :

Komentar

Postingan populer dari blog ini

Heap and Tries