-->
Search here and hit enter....

Perbedaan Arrays dan Linkedlist

Perbedaan Arrays dan Linkedlist

Sebelum kita membahasa perbedaan Arrays dan Linkedlist kita harus tahu terlebih dahulu cara kerja sebuah memory.

Sebuah memory komputer itu ibarat sebuah lemari besar yang mempunyai banyak laci dan di setiap laci hanya bisa menyimpan satu benda.

semisal kita ingin menambahkan dua benda maka kita perlu dua buah laci.
dan di setiap laci punya alamatnya masing masing


fe0ffeeb adalah alamat  dari slot laci(memory) tersebut. Setiap kali anda ingin menyimpan item ke dalam memory, anda akan meminta komputer untuk menyiapkan space kosong dan komputer akan memberikan alamatnya. 

Arrays dan linkedlist digunakan untuk menyimpan kumpulan-kumpulan item yang akan disimpan ke dalam memory.

Arrays

Semisal kita ingin menyimpan sebuah Todo list,jika kita menggunakan arrays maka data kita akan tersimpan saling berurutan satu sama lain di memory.
Sekarang bagaimana jika ingin menambahkan item baru ke dalam arrays?
Arrays akan meminta komputer untuk menyediakan slot kosong memory dimana semua element pada arrays saling berurutan satu sama lain.
analogi mudahanya adalah ketika anda nonton bola bertiga, kemudian ada teman anda datang dan anda harus mencari empat tempat duduk yang kosong agar bisa menonton bersamaan.


Linked lists

Jika kita menggunakan linked lists, data kita posisi nya bisa berada dimana saja di dalam memory

di linked list setiap item menyimpan alamat memory item selanjutnya. sehingga jika anda menambahkan data, kita tidak perlu request tempat slot memory kosong yang berdampingan ke komputer, hal ini membuat proses insertion dan deletion jauh lebih cepet dengan linkedlist

Arrays dan LinkedList

jadi manakah yang lebih baik? tergantung use case anda masing-masing. linked list sangat cocok digunakan jika anda banyak melakukan insertion atau deletion, namun jika untuk access atau pembacaan data linkedlist jauh lebih lambat dari arrays kenapa? misal anda ingin membaca index ke-10 dari sebuah linkedlist maka anda harus mulai membacanya dari element ke-1 sampai dengan element ke-10, ada 9 elemen yang harus anda lalui. Sedangkan Arrays mendukung random access, sehingga kita bisa langsung loncat ke index yang ingin kita access.

semoga bermanfaat.
BERIKAN KOMENTAR ()