Itu semua tergantung jenis operasi apa yang Anda lakukan saat iterasi, semua struktur data memiliki trade off antara waktu dan memori dan tergantung pada kebutuhan kita, kita harus memilih DS yang tepat. Jadi ada beberapa kasus di mana LinkedList lebih cepat daripada array dan sebaliknya. Pertimbangkan tiga operasi dasar pada struktur data.
Karena array adalah indeks, pencarian struktur data yang berbasis array. Get (indeks) akan mengambil O (1) waktu sementara linkedlist bukan indeks DS sehingga Anda perlu melintasi hingga indeks, di mana indeks <= n, n adalah ukuran daftar tertaut, jadi array lebih cepat daftar tertaut ketika memiliki akses acak elemen.
Q. Jadi apa keindahan di balik ini?
Karena Array adalah blok memori yang berdekatan, bongkahan besar dari mereka akan dimuat ke dalam cache saat akses pertama ini membuatnya relatif cepat untuk mengakses elemen-elemen array yang tersisa, sebanyak kita mengakses elemen-elemen dalam array lokalitas referensi juga meningkat sehingga kurang menangkap meleset, Cache locality mengacu pada operasi yang ada di cache dan dengan demikian mengeksekusi lebih cepat dibandingkan dengan di memori, pada dasarnya Dalam array kita memaksimalkan peluang akses elemen berurutan berada di cache. Sementara daftar Linked tidak harus dalam blok memori yang berdekatan, tidak ada jaminan bahwa item yang muncul secara berurutan dalam daftar sebenarnya disusun berdekatan satu sama lain dalam memori, ini berarti lebih sedikit hit cache misalnya
Ini mudah dan cepat di LinkedList karena penyisipan adalah operasi O (1) di LinkedList (di Jawa) dibandingkan dengan array, pertimbangkan kasus ketika array penuh, kita perlu menyalin konten ke array baru jika array menjadi penuh yang membuat memasukkan sebuah elemen ke ArrayList of O (n) dalam kasus terburuk, sementara ArrayList juga perlu memperbarui indeksnya jika Anda memasukkan sesuatu di mana saja kecuali pada akhir array, jika daftar tertaut kita tidak perlu mengubah ukurannya, Anda hanya perlu perbarui petunjuk.
Ia bekerja seperti penyisipan dan lebih baik di LinkedList daripada array.