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:
- 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.
- 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. - 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.
Comments
Post a Comment