PENGENALAN LINKED LIST

Linked List

1. Definisi

1.1. Linked List illustration - https://www.geeksforgeeks.org/wp-content/uploads/gq/2013/03/Linkedlist.png

Linked List merupakan sebuah metode penyimpanan koleksi secara dinamis (dynamic collection) yang digunakan untuk mempermudah penyisipan data diantara kumpulan data yang telah ada.

Meski memiliki konsep yang mirip dengan Array, Linked List memiliki keuntungan dalam penyisipan dan pembuangan data dibandingkan Array. Hanya saja, kelemahannya terletak pada cara mengakses data didalamnya. Pada konsep Linked List, pengaksesan data didalamnya harus secara berurutan dari awal, hal ini dikarenakan linked list tidak mengenal indeks seperti Array.

Jika pada Array dikenal istilah index (indeks), maka Linked List mengenal istilah nodes atau titik. Hal ini terjadi karena Linked List menggunakan alokasi memori yang selalu berbeda dan menghubungkannya dengan memory address yang lain, sehingga kita akan lebih mudah memahaminya dengan nodes.

Setiap Linked List akan selalu memiliki head node, yang berfungsi untuk menunjukkan node awal, dan memiliki tail node, yang akan menunjukkan akhir dari Linked List. Untuk tail node biasanya akan diisi dengan NULL.

2. Tipe

Tipe Linked List yang umum dikenal ada tiga, yaitu:
  1. Single Linked List
    2.1. Single Linked List - https://socs.binus.ac.id/files/2017/03/rini-1.jpg
    Single Linked List menggunakan 2 buah fields. Pertama, adalah field untuk data yang ditampung. Kedua adalah field yang ditujukan sebagai link (koneksi) untuk node yang berikutnya.

  2. Doubly Linked List
    2.2. Doubly Linked List - https://media.geeksforgeeks.org/wp-content/cdn-uploads/gq/2014/03/DLL1.png
    Double/Doubly Linked List akan menggunakan satu tambahan field yang ditujukan untuk memuat link dari node sebelumnya.

  3. Circular Linked List
    2.3.1. Circular Single Linked List - geeksforgeeks.org/wp-content/uploads/cll_orig.gif
    2.3.2.Circular Doubly Linked List - https://media.geeksforgeeks.org/wp-content/uploads/Circular-doubly-linked-list.png
    Kedua jenis Circular Linked List diatas memiliki ciri yang sama seperti tipe-tipe Linked List sebelumnya. Perbedaannya hanya terletak pada tail node. Tail node pada Circular Linked List akan berisi link ke data awal atau head node.

3. Metode Penyisipan dan Penghapusan Data

Perlu diketahui bahwa bahasa C adalah acuan dalam penyampaian materi ini dan penyampaian terbatas hanya pada Single Linked List dan beberapa contoh saja. Untuk Double Linked List hanya perlu penambahan field untuk link ke node sebelumnya.
  1. Pembuatan struct node
    3.1. Initializing node struct
  2. Penyisipan data
    3.2. Penyisipan data di akhir
  3. Penghapusan data
    3.3.1. Penghapusan data diantara awal dan akhir
    3.3.2. Penghapusan data di awal

    Sekian penjelasan dari saya... Terima kasih telah membaca post ini😄

Comments

Popular posts from this blog

Hashmap And Binary Tree