Think More Talk Less, and Stay Cool

Halaman

Sabtu, 29 Februari 2020

Pengenalan Linked List

Data structure session 2&3

Linked list dalam bahasa baku Indonesia diartikan sebagai "Seranai berantai". 
Dalam dunia komputer linked list merupakan sebuah struktur data untuk menyimpan beberapa objek secara terhubung, sehingga mempermudah penambahan, pengurangan, dan pencarian terhadap kumpulan data.

kelebihan dan kekurangan dalam linked list


Kekurangan

- Diperlukan ruang lebih untuk menempatkan pointer next
- Pencarian dalam linked list relatif lebih lama

Kelebihan

+ Data yang berbeda tipe nya dapat disimpan secara berhubungan
+ Memori dinamis
+ Penambahan dan penghapusan data dilakukan dengan efisien

Komponen linked list

$ Pointer = penunjuk
$ Head = elemen pertama dari linked list
$ Tail = elemen terakhir dari linked list
$ Data = isi dari node (isi dari struct)
$ Node = elemen dalam linked list (struct)

linked list memiliki 3 jenis


1. Single linked list

ciri:
* Hanya memiliki 1 arah ( tidak berbalas ) ke penghubung ke node lain 
* Tail akan selalu menunjuk NULL

gambaran:




2. Doubly linked list / double linked list

ciri:
* Setiap node memiliki 2 arah yang menunjuk node sebelum nya dan node selanjut nya.
* Head dan tail akan selalu menunjuk NULL

gambaran :









3. Circular linked list

ciri:
* Tidak memiliki pointer yang menunjuk NULL
* Tail selalu menunjuk ke head dan head akan selalu menunjuk tail apabila
   juga bersifat double linked list

! note :

*Circular linked list adalah bagian dari single dan double linked list

gambaran:


Single-circular linked list

Double-circular linked list






Operasi:

*Push

Push adalah sebutan untuk operasi insert dalam linked list, push ini
memilikin 3 cara :
@ Push depan = Memasukkan data dari depan
@ Push tengah = Memasukkan data dari tengah
@ Push belakang = Memasukkan data dari belakang

Wajib diperhatikan dalam Push
! Head harus selalu berada paling depan
! Tail harus selalu berada paling belakang
! Bila memasukkan data dari tengah, jangan lupa menggeser belakang nya juga pointer
antara 2 node yang akan di sisipkan node baru.

*Pop

Pop adalah sebutan untuk operasi delete dalam linked list, sama seperti push memiliki cara dari 
depan, tengah, dan belakang

Wajib diperhatikan dalam pop

! Head harus ada
! Tail juga harus ada
! Hubungan antara node tidak boleh ada yang terputus


()sytax untuk melepas memory yang terpakai saat linked list()


While(Head){

Head = Head.next;
free(Head.prev);
}


source: 

https://socs.binus.ac.id/2017/03/15/single-linked-list/
https://socs.binus.ac.id/2017/03/15/doubly-linked-list/
https://id.wikipedia.org/wiki/Senarai_berantai
https://docplayer.info/32080128-Kerugian-dan-keuntungan-linked-list.html
https://repository.unikom.ac.id/35731/1/Bab%20VII%20-%20Circular%20Linked%20List.pdf
https://www.geeksforgeeks.org/data-structures/linked-list/

Tidak ada komentar:

Posting Komentar