Linked list
adalah urutan data structure dimana setiap anggotanya di hubungkan oleh links
Setiap link
mengandung hubungan ke link lain
Kelebihan linkedlist
1.fleksibilitas – memasukkan
(atau menghapus) dari posisi mana saja dalam waktu yang konstan.
2.Alokasi memori dinamis –
tidak perlu mengalokasikan memori.
Kelemahan
linked list
1.menggunakan
lebih banyak memori dibandingkan array karena menggunakan pointers
2.node
dalam linked list harus dibaca dari berurutan dari awal karena linked list itu
harus diakses berurutan
3.lebih lama
untuk diakses
4.sangat sulit dilakukan ketika ingin di-reverse
Representasi
linked list
1.linked
list mengandung element link first
2.setiap
link ada kolom data dan kolom link next
3.setiap
link berhubungan dengan link selanjutnya menggunakan link next
4.link
terakhir mengandung sebuah link yang NULL untuk menandai link terakhir
Jenis linked
list
1.simple
linked list ->cuman bisa maju
2.doubly
linked list ->bisa maju dan mundur
3.circular
linked list ->item terakhir ada link ke element pertama
Operasi dasar
1.insertion
->menambahkan element di awal list
2.deletion
->menghapus data di awal list
3.display
->menampilkan keseluruhan list
4.search
->mencari sebuah element dengan kunci yang diberikan
5.delete
->menghapus sebuah data dengan kunci yang diberikan
Operasi insertion
Misalnya kita ingin memasukan new node ditengah tengah node sebelah kiri dan node sebelah kanan,maka new node harus menunjuk ke node sebelah kanan.
NewNode.next −> RightNode;
Lalu node sebelah kiri menunjuk ke node yang baru
LeftNode.next −> NewNode;
Langkah langkah ini akan memasukan new node ditengah tengah node kiri dan node kanan.
-jika ingin
memasukan new node di bagian depan berarti new node hanya cukup menunjuk ke
node pertama dan selesai.
-jika ingin
memasukan new node ke bagian paling belakang berarti node terakhir tinggal
menunjuk ke new node dan new node menunjuk ke NULL.
Operasi deletion
Langkah pertama
melakukan operasi deletion adalah mencari data mana yang ingin dihapus.
Misalkan node
yang ditengah ingin dihapus.
Pertama node sebelah kiri ditunjuk ke node sebelah kanan.
LeftNode.next −> TargetNode.next;
lalu target node menunjuk NULL.
TargetNode.next −> NULL;
Langkah ini membuat target node tidak digunakan sama sekali.






