Struktur Data: Linked List
Apa itu linked list? Linked list atau yang dalam bahasa Indonesia disebut dengan seranai berantai adalah suatu koleksi linear dari data, yang disebut sebagai nodes, dimana setiap node akan menunjuk pada node lain melalui sebuah pointer. Linked list merupakan sebuah struktur data yang mana dapat digunakan untuk mengimplementasikan struktur data lain seperti stack, queue, dan variasi lainnya.Linked list memiliki variabel pointer START yang menyimpan alamat dari node pertama. Node pertama tersebut juga memiliki pointer yang menyimpan alamat dari node kedua dan seterusnya sampai ketemu alamat NULL (yang mana linked list akan berakhir).
Secara umum, teknik untuk mengimplementasikan linked list terdiri dari:
- Push (Insert/tambah)
- PushHead — menambah data ke barisan paling awal
- PushTail — menambah data ke barisan paling akhir
- PushMid — menambah data ke barisan di tengah
- Pop (Delete/hapus)
- PopHead — menghapus data di barisan paling awal
- PopTail — menghapus data di barisan paling akhir
- PopMid — menghapus data di barisan tengah
Jenis-Jenis Linked List
Linked list terdiri dari beberapa jenis, antara lain:- Non-circular single linked list,
- Circular single linked list,
- Non-circular double linked list,
- Circular double linked list
1. Non-Circular Single Linked List
Bila struktur data dalam sebuah node hanya memiliki (menunjuk) satu tautan atas node berikutnya maka struktur data tersebut dinamakan sebagai single linked list. Linked list ini hanya bisa memiliki satu arah.Gambar 1 - Non-Circular Single Linked List |
2. Circular Single Linked List
Circular single linked list merupakan sebuah struktur data yang terdiri dari node-node yang dibuat menggunakan tautan diri sendiri. Node terakhir dari linked list ini akan menunjuk kembali ke node pertama.Gambar 2 - Circular Single Linked List |
3. Double Linked List
Berbeda dengan single linked list, double linked list memiliki node yang terdiri dari dua buah data dan tautan yang menunjuk pada node sebelum dan sesudahnya. Maka dari itu, struktur data ini terdiri dari 3 bagian — data, pointer ke node selanjutnya, dan pointer ke node sebelumnya.Gambar 3 - Non-Circular Double Linked List |
4. Circular Double Linked List
Mirip dengan circular single linked list, linked list ini memiliki node dengan pointer yang menunjuk ke node sebelum dan sesudahnya secara bersamaan DAN tidak adanya NULL di sebelum node pertama dan setelah node terakhir.Gambar 4 - Circular Double Linked List |
Referensi
- Thareja, Reema — Data Structures using C
- PPT Linked List I — https://binusmaya.binus.ac.id/services/ci/index.php/student/classes/downloadResource/general_course_outline...course_outline...main_material/RS1...010544/20181210154455D4730_COMP6048%20-%2002%20-%20Linked%20List%20I%20(L)%20-%20R5%20-%20ok.pptx
- PPT Linked List II — https://binusmaya.binus.ac.id/services/ci/index.php/student/classes/downloadResource/general_course_outline...course_outline...main_material/RS1...010544/20181210154552D4730_COMP6048%20-%2003%20-%20Linked%20List%20II%20(L)%20-%20R5%20-%20ok.pptx
- https://id.wikipedia.org/wiki/Senarai_berantai
- https://socs.binus.ac.id/2017/03/15/single-linked-list/
- https://medium.com/codelabs-unikom/struktur-data-single-linked-list-93bbd56b6ed1
- https://www.tutorialspoint.com/cplusplus-program-to-implement-circular-singly-linked-list
- https://www.mahirkoding.com/struktur-data-single-linked-list-dengan-bahasa-c/
Komentar
Posting Komentar