Linked List
Linked List
KELOMPOK 5
Anggota Kelompok
sedangkan untuk single linked list Circular nya adalah sebagai berikut:
b.Doubly Linked List
Double Linked List merupakan Doubly linked list yang memilki pointer penunjuk 2 arah,
yakni ke arah node sebelum (previos/prev) dan node sesudah (next).
Representasi sebuah doubly linked list dapat dilihat pada gambar berikut ini.
di dalam sebuah linked list, ada 2 pointer yang menjadi penunjukutama, yakni
pointer HEAD yang menunjuk pada node pertama didalam linked list itu sendiri dan
pointer TAIL yang menunjuk pada node paling akhir di dalam linked list. Sebuah
linked list dikatakan kosong apabila isi pointer head adalah NULL. Selain itu, nilai
pointer prev dari HEAD selalu NULL, karena merupakan data pertama. Begitu pula
dengan pointer next dari TAIL yang selalu bernilai NULL sebagai penanda data
terakhir.
.
Beberapa operasi yang biasanya ada di dalam sebuah doubly linked list pada dasarnya
sama dengan yang ada di dalam single linked list, yakni:
1. Push
Push merupakan sebuah operasi insert dimana di dalam linked list terdapat 2
kemungkinan insert, yaitu insert melalui depan (pushDepan) ataupun belakang
(pushBelakang). Operasi push depan berarti data yang paling baru dimasukkan akan
berada di depan data lainnya, dan sebaliknya push belakang berarti data yang paling
baru akan berada di belakang data lainnya.
2. Pop
Pop, kebalikan dari push, merupakan operasi delete, dimana di dalam linked list memiliki
2 kemungkinan delete, yaitu melalui depan (popDepan) dan melalui belakang
(popBelakang). PopDepan berarti data yang akan dihapus adalah data paling depan, dan
popBelakang berarti data yang akan dihapus adalah data paling belakang (akhir).
.
C.Circular Linked list
Circular Linked List merupakan suatu linked list dimana tail (nodeterakhir) menunjukke head (node
pertama).
Jadi tidak ada pointer yang menunjuk NULL. Ada 2 jenis Circular Linked List, yaitu :
a) Operasi Dasar
Berikut ini adalah operasi penting yang didukung oleh daftar melingkar.
1) insert - Menyisipkan elemen di awal daftar.
2) delete - Menghapus elemen dari awal daftar.
3) Display - tampilan Menampilkan daftar.
Kekurangan :
1. Fleksibilitas : Linked list memiliki ukuran yang dinamis, sehingga mudah untuk menambahkan atau menghapus elemen di
tengah-tengah list tanpa mengganggu elemen-elemen lainnya.
2.Penggunaan Memori : Linked list menggunakan lebih banyak memori daripada array untuk menyimpan elemen karena setiap
elemen memerlukan overhead tambahan untuk tautan. Namun, ini juga memungkinkan penggunaan memori yang lebih fleksibel
dibandingkan dengan array.
3. Akses Elemen : Akses ke elemen dalam linked list bisa menjadi lebih lambat daripada array karena Anda harus menelusuri list
dari awal hingga elemen yang diinginkan. Namun, akses ke elemen di ujung list bisa dilakukan dengan cepat.
4. Penyisipan dan Penghapusan : Operasi penyisipan dan penghapusan dalam linked list bisa dilakukan dengan cepat, terutama
jika Anda memiliki referensi langsung ke simpul yang akan diubah. Ini adalah salah satu keuntungan utama linked list, terutama
jika Anda sering memerlukan operasi semacam itu.
5. Implementasi Struktur Data Lain : Linked list digunakan sebagai dasar untuk implementasi struktur data lainnya, seperti stack,
queue, dan double linked list.
Dengan memahami karakteristik dan penggunaan linked list, Anda dapat memilih apakah struktur data ini cocok untuk kebutuhan
spesifik aplikasi Anda.
THANKS YOU