Linked List

Linked List


Halo semuanya, topik kita kali ini adalah Linked List. Pertama-tama, apa itu Linked List? Linked List adalah suatu struktur data yang terdiri atas urutan data-data dan setiap data menyimpan petunjuk data yang berada di urutan berikutnya. Sistem pengurutan pada Linked List tidak berdasarkan penempatan fisik suatu data, melainkan setiap data menunjukkan data yang lainnya. Dalam Linked List, kita juga dapat melakukan deletion (penghapusan suatu elemen dalam struktur data) ataupun insertion (penambahan elemen ke dalam struktur data).



///Jadi kira-kira apa bedanya Linked List dengan Array bang???///

Oke, mungkin jika dilihat secara sekilas, Array dan Linked List memiliki beberapa persamaan, namun keduanya memiliki perbedaan yang cukup signifikan lho. Perbedaannya dapat dilihat dibawah ini.
Image result for perbedaan linked list dan array
///Perbedaan Array dan Linked List///

Nah, Linked List itu terbagi atas beberapa jenis antara lain sebagai berikut.

1. Single Linked List

Single Linked List merupakan suatu linked list yang hanya memiliki satu variabel                pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya.Biasanya field              pada tail menunjuk ke NULL. Berikut ilustrasi dari Single Linked List.


Dalam Linked List, terdapat beberapa operasi seperti deletion dan insertion. Berikut beberapa bentuk code insertion dan deletion.
  • Insertion on Head of Linked List
           Function ini berfungsi untuk menambahkan elemen di head Linked List. Posisi dari elemen yang ditambahkan berada di depan elemen-elemen yang sudah ada sebelumnya. 

 /// Insertion on Head of Linked List in C///
  • Insertion on Tail of Linked List
Function ini berfungsi untuk menambahkan elemen di tail Linked List. Posisi dari elemen yang ditambahkan berada di belakang elemen-elemen yang sudah ada sebelumnya. 

/// Insertion on Tail of Linked List in C///
  • Insertion in Middle of Linked List
Function ini berfungsi untuk menambahkan elemen di tengah-tengah Linked List. Posisi dari elemen yang ditambahkan berada di tengah-tengah elemen-elemen yang sudah ada sebelumnya. 

/// Insertion on Middle of Linked List in C///


  • Deletion at Head of Linked List
Function ini berfungsi untuk menghapus elemen yang berada di posisi head dalam Linked List. Posisi dari elemen yang akan dihapus berada di awal elemen-elemen yang sudah ada sebelumnya. 

/// Deletion at Head of Linked List in C///




  • Deletion at Middle of Linked List
Function ini berfungsi untuk menghapus elemen yang berada di tengah-tengah dalam Linked List. Posisi dari elemen yang akan dihapus berada di tengah seluruh elemen-elemen yang sudah ada sebelumnya. 

/// Deletion at Middle of Linked List in C///

  • Deletion at Tail of Linked List
Function ini berfungsi untuk menghapus elemen yang berada di posisi tail dalam Linked List. Posisi dari elemen yang akan dihapus berada di akhir elemen-elemen yang sudah ada sebelumnya. 



/// Deletion at Tail of Linked List in C///


2. Double Linked List
Double Linked List Merupakan suatau linked list yang memiliki dua variabel pointer yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang menunuk ke node sebelumnya. Setiap head dan tailnya juga menunjuk ke  NULL. Berikut ilustrasi dari Double Linked List.




3. Circular Linked List
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

Ilustrasi dari Circular Single Linked List :


•   Circular Double Linked List

Ilustrasi dari Circular Double Linked List :


4. Multiple Linked List
Multi Linked List Merupakan Suatu Linked List yang Memiliki Lebih dari 2 buah variabel pointer.

Ilustrasi dari Multiple Linked List :


Sumber : 
https://binusmaya.binus.ac.id/newStudent/#/class/resources.COMP6048/010544/1920/CL/11725
http://alvinstrukturdata.blogspot.com/2016/01/apa-itu-linked-list.html/


Komentar

Postingan populer dari blog ini

Heap and Tries

AVL Tree