Perbedaan Antara Daftar Tertaut Tunggal dan Daftar Tertaut Ganda

Daftar Tertaut Tunggal vs Daftar Tertaut Ganda

Linked list adalah struktur data linier yang digunakan untuk menyimpan kumpulan data. Daftar tertaut mengalokasikan memori ke elemen-elemennya secara terpisah dalam blok memorinya sendiri dan struktur keseluruhan diperoleh dengan menghubungkan elemen-elemen ini sebagai tautan dalam sebuah rantai. Daftar yang terhubung sendiri terdiri dari urutan node dan setiap node memiliki referensi ke node berikutnya dalam urutan. Daftar tertaut ganda berisi urutan node di mana setiap node berisi referensi ke node berikutnya serta ke node sebelumnya.

Daftar Tertaut Tunggal

Setiap elemen dalam daftar yang ditautkan secara tunggal memiliki dua bidang seperti yang ditunjukkan pada Gambar 1. Bidang data menyimpan data aktual yang disimpan dan bidang berikutnya menyimpan referensi ke elemen berikutnya dalam rantai. Elemen pertama dari daftar tertaut disimpan sebagai kepala daftar tertaut.

Gambar 2 menggambarkan daftar yang terhubung sendiri dengan tiga elemen. Setiap elemen menyimpan datanya dan semua elemen kecuali yang terakhir menyimpan referensi ke elemen berikutnya. Elemen terakhir memegang nilai nol di bidang berikutnya. Setiap elemen dalam daftar dapat diakses dengan mulai dari kepala dan mengikuti pointer berikutnya sampai Anda memenuhi elemen yang diperlukan.

Daftar Tertaut Ganda

Setiap elemen dalam daftar tertaut ganda memiliki tiga bidang seperti yang ditunjukkan pada Gambar 3. Mirip dengan daftar tertaut tunggal, bidang data menyimpan data aktual yang disimpan dan bidang berikutnya memegang referensi ke elemen berikutnya dalam rantai. Selain itu, bidang sebelumnya menyimpan referensi ke elemen sebelumnya di rantai. Elemen pertama dari daftar tertaut disimpan sebagai kepala daftar tertaut.

Gambar 4 menggambarkan daftar dua kali lipat terkait dengan tiga elemen. Semua elemen perantara menyimpan referensi ke elemen pertama dan sebelumnya. Elemen terakhir dalam daftar memegang nilai nol di bidang berikutnya dan elemen pertama dalam daftar memegang nilai nol di bidang sebelumnya. Daftar tertaut ganda dapat dilintasi ke depan dengan mengikuti referensi berikutnya di setiap elemen dan juga dapat dilintasi mundur menggunakan referensi sebelumnya di setiap elemen.

Apa perbedaan antara Singly Linked List dan Doubly Linked List?

Setiap elemen dalam daftar tertaut tunggal berisi referensi ke elemen berikutnya dalam daftar, sedangkan setiap elemen dalam daftar tertaut ganda berisi referensi ke elemen berikutnya serta elemen sebelumnya dalam daftar. Daftar yang tertaut ganda memerlukan lebih banyak ruang untuk setiap elemen dalam daftar dan operasi elementer seperti penyisipan dan penghapusan lebih kompleks karena mereka harus berurusan dengan dua referensi. Tetapi daftar tautan ganda memungkinkan manipulasi yang lebih mudah karena memungkinkan melintasi daftar ke arah maju dan mundur.