Sabtu, 29 Februari 2020

Linked List


A. Apa yang dimaksud dengan Linked List?
  • Linked List merupakan koleksi linear dari data, yang disebut sebagai nodes, dimana setiap node akan menunjuk pada node lain melalui sebuah pointer. Linked List dapat didefinisikan pula sebagai kumpulan nodes yang merepresentasikan sebuah sequence. 
  • Linked List memiliki yang disebut head dan tail, dimana head adalah node pertama dalam linked list dan tail adalah node terakhir.
  •  Linked List dibagi menjadi dua:
    • Single Linked List
    • Double/Doubly Linked List 
B. Single Linked List
  • Single Linked List adalah salah satu bentuk implementasi dari struktur data yang paling sederhana. Satu node dengan node lainnya dihubungkan melalui penanda berupa pointer seperti gambar berikut: 
 Image result for singly linked list
  •  Dalam Single Linked List, pointer hanya bisa berjalan dalam satu arah saja, maju/mundur atau kanan/kiri.
C. Double Linked List
  • Double Linked List adalah node-node yang dihubungkan dengan dua pointer, yang terletak sebelum dan sesudah sebuah node. 
Image result for doubly linked list
D. Linked List vs Array
  • Array
  1. Elemen data bisa menggunakan RECORD.
  2. Bersifat Statis
    • volumenya selalu tetap tidak tergantung pada jumlah data.
    • alokasi memori dilakukan pada saat array didefinisikan.
    • pembebasan memori dilakukan pada saat program berhenti.
  3. Cara akses bersifat random dengan menggunakan nomor index.
  • Linked List
  1. Elemen data selalu menggunakan RECORD.
  2. Bersifat Dinamis
    • ukurannya berubah-ubah disesuaikan dengan kebutuhan.
    • alokasi memori ditentukan pada saat data baru dibuat.
    • pembebasan memori dilakukan setiap ada penghapusan data.
  3. Cara akses ke masing-masing class data dilakukan secara linier (selalu dimulai dari elemen pertama).

    Rangkuman Data Structure