Tuesday, March 3, 2020

Linked list

Pertemuan GSLC

array dan linked list bisa dibilang sama namun tak sama.
perbedaan array dan linked list adalah
array

  • kumupulan dari data
  • menyimpan datanya di memory yang beruurtan
  • bisa mengakses data mana saja secara langsung

linked list

  • kumpulan dari node
  • menyimpan node di memory yang secara acak
  • hanya bisa diakses secara berurutan


array dan linked list memiliki kelebihan dan kekurangan tersendiri.
contohnya adalah
kelebihan array

  • mudah digunakan
  • lebih cepat megakses data mana saja

kekurangan array

  • ukuran tidak dapat dirubah sehingga terkadang memakan banyak memory

kelebihan linked list

  • penggunaan memory sesuai banyaknya data yang ada sehingga irit
  • sistemnya fleksibel

kekurangan linked list

  • pengerjaan lebih komples



linked list terdapat banyak macam, beberapa contohnya adalah
  • circular linked list
  • double linked list

circular linked list dalam permasalahan yang berhubungan dengan head dan tail memang lebih cepat diselesaikan dan juga ia bisa ke node manapun.
namun apa bila tidak di coding dengan benar dapat terjadi infinite loop dan juga karena ia hanya satu arah, ia tidak bisa mundur sehingga jika ia harus mengelilingi list terlebih dahulu untuk mencapai sebuah node jika ia terletak disebelumnya.


Pertemuan ketiga

pada pertemuan ini saya mempelajari cara kerja linked list dalam bentuk codingnya dan double linked list secara singkat.

linked list cara kerjanya adalah dengan cara menyimpan alamat satu sama lain bukan dengan menyimpan isi dari alamat tersebut.

setiap alamat akan mempunyai hubungan dengan alamat berikutnya sehingga mereka akan saling menyambung
Image result for linked listseperti di atas cara kerjanya data pertama jika di next maka dia akan ke data b karena setelah data a itu tersimpan alamat dari data b.

head akan selalu ada pada data pertama sedangkan pada ujung akan bernama tail dan dia tidak akan menunjuk kemana-mana maka panak tersebut dituliskan NULL.

pada linked list biasa dia tidak bisa bergerak mundur maka ia akan selalu bergerak dari head ke tail.

seperti berikut adalah codingnya


coding di atas adalah untuk memasukan data kedalam linked list

sedangkan dibawah ini adalah cara menghapus data paling atas dari linked list


double hampir sama dengan linked list biasa namun bedanya dia bisa mundur
cara kerjanya seperti di bawah ini
Image result for types of linked list


No comments:

Post a Comment