Linked List II


 Linked List II

  • Circular Singly Linked List

Adalah linked list dimana semua node terhubung oleh satu pointer next saja dan membentuk sebuah loop satu arah dan tidak memiliki NULL pada akhir dari node. Node mana saja bisa menjadi starting point karena dia hanya berhenti ketika node yang sama terulang. 

  • Doubly Linked List

Adalah linked list yang terdiri dari sekumpulan data yang memiliki dua tangan penghubung ke data sebelumnya dan ke data selanjutnya. Setiap ujung atau tail dari data adalah NULL dan dapat dijalankan dua arah karena memiliki dua penunjuk yaitu previous dan next. Jika kita ingin insert data atau delete data kita harus mengubah kedua pointer yang menunjuk ke data sebelum dan selanjutnya.

  • Circular Doubly Linked List

Adalah linked list yang mirip dengan Circular Singly Linked List  dan Doubly Linked List dimana terdapat dua pointer yaitu previous dan next dan tidak diakhiri dengan NULL.


Malloc pada linked list digunakan untuk menyediakan memori yang fleksibel dengan jumlah data yang ada sesuai keinginan agar tidak boros.

Contoh penggunaan linked list adalah saat kita sedang browsing dan halaman yang telah kita kunjungi disusun secara doubly linked list sehingga kita dapat mengakses halaman sebelumnya dengan menekan tombol previous.

Kesimpulannya adalah linked list digunakan ketika kita tidak tahu berapa data yang diperlukan sedangan dengan array kita harus re-declare jika data terlalu besar dan akan boros jika data lebih kecil dari yang sudah di declare. Selain itu linked list juga dapat digunakan untuk queue (first in first out) seperti pada rumah sakit dan antrian bisa saja diambil dari tengah tergantung prioritas, ada juga stack (last in first out) dapat dicontohkan dengan tumpukan piring dimana kita menggambil dari yang paling atas.



Comments

Popular posts from this blog

Heap & Tries

AVL Tree