Langsung ke konten utama

Single Linked List ( Push Head/Tail & Pop Head/Tail)


LINKED LIST
Linked List (Senarai Berantai) merupakan koleksi elemen linear data yang urutannya tidak teratur dan letak penempatannya ditentukan dengan alokasi memori. Nah, tempat yang kita pesan dari alokasi memori tersebut dinamakan node. Di dalam Linked List ini, kita diperbolehkan untuk memasukan nilai dan menghilangkan nilai elemen di tempat manapun selama itu masih didalam node yang kita punya. Biasanya Linked List ini digunakan di algoritma untuk menyelesaikan Real-Time Problems, dimana jumlah elemen yang dimasukan tidak terduga.
Tapi, terkadang untuk yang sudah mengerti algoritma, akan bertanya-tanya tentang apakah perbedaan antara Linked List sendiri dengan Array ? Berikut adalah penjelesannya.
NO
Linked List
Array
1
Setiap element linked list terdiri dari  bagian, data dan pointer address
Setiap element array hanya berisi data saja
2
Pengalokasian ruang memori dilakukan tanpa pendeklarasian sebelumnya dan terbatas pada jumlah ruang memori yang tersisa (dapat dipakai)
Pengalokasian ruang memori terbatas pada jumlah ruang yang dideklarasikan sebelumnya.
Nah, mari kita coba membuat sebuah node.. Codingannya adalah sebagai berikut :
A close up of a screen

Description automatically generated
Nah, sudah jadi.. tapi waktu di run kalau tidak keluar apa-apa, jangan panik dulu, soalnya kita memang belum memasukan data ke node tersebut.. Bagaimanakah caranya ?
A screen shot of a computer

Description automatically generated
Kita disini melakukan yang Namanya push head.. untuk memasukan data kedalamnya dengan codingan seperti diatas. Push head seperti memasukan node baru, tapi dimasukan dari depan. Ada juga yang Namanya push tail. Push Tail sendiri maksudnya sama seperti push head, tapi dimasukan dari belakang .
              Nah, untuk selanjutnya dimana ada head disitu ada tail. Yep, pushTail. Let’s jump into it.
A screen shot of a computer

Description automatically generated
             




Ada masukan, ada keluarkan.. Yak, Deletion/Pop di data structure ini berguna untuk menghilangkan sebuah node yang kita inginkan.. sama seperti push, pop juga memiliki 2 macam, yaitu pop head dan pop tail.. seperti apa kelanjutannya, mari kita saksikan codingan berikut ini

A screenshot of a cell phone

Description automatically generated
Yak, fungsi pop head ini pun adalah untuk menghapus head yang sekarang. Dalam kasus ini, si 456 Budi akan dihapus dari linked list ini dan digantikan kembali oleh 123 Adi. Dalam pop head ini (berlaku juga untuk pop tail) yang pertama kita harus lakukan adalah menyelamatkan head (atau tail) terlebih dahulu baru bisa menghapus head (atau tail) yang lama. Nah, mungkin anda bertanya-tanya mengapa ada free segala, ini kah bukan kek toko beli 1 gratis 1.. bukan. Ini maksudnya untuk membebaskan si alamat yang dipakai oleh 456 Budi agar tidak membuang memori.






Nah bagaimana dengan pop tail ? mari kita simak..
A screenshot of a computer

Description automatically generated
Sama kasusnya seperti pop Head, di pop tail, kita harus menyelamatkan tail nya terlebih dahulu baru membebaskan si tail yang lama. Dalam kasus ini, tail yang awalnya adalah 147 Kali akan dihapus dan digantikan oleh 789 Santi sebagai tail yang baru.

Nah, sekian untuk single linked list hari ini. Sebenarnya masih ada 1 jenis push dan pop, hanya saja saya belum begitu mengerti soal itu, itu akan dibahas di pertemuan berikutnya ya 😊 Maaf jika ada kesalahan, disini kita sama-sama belajar. Jangan toxic sesama pelajar.. Makasihhh and have fun.

=== GOD BLESS ===

Komentar

Postingan populer dari blog ini

Heap & Tries {Theory}

HEAP & TRIES 1.        Heap Dalam  ilmu komputer , sebuah  heap  adalah struktur data yang berdasarkan konsep struktur data  pohon . Di heap, juga diterapkan konsep binary tree. Terdapat 3 jenis heap, diantaranya : a.      Min heap Min heap merupakan heap yang node rootnya adalah angka terkecil dan setiap anak dari rootnya selalu lebih kecil daripada parentnya. Biasanya min heap ini, dia ascending ( dari terkecil ke terbesar ). b.     Max heap Max heap ini sama seperti min heap, tapi bedanya adalah angka yang berada di root adalah angka terbesar dan max heap ini descending ( dari terbesar ke terkecil ). c.      Min Max heap Untuk min max heap ini cukup unik, dimana root dari heap ini merupakan angka terkecil didalam tree nya, tapi angka yang berada dii node anak dari sebuah root merupakan angka paling besar dan berlaku seterusnya sampai ke bawah. Berikut ad...

AVL Tree [Theory]

AVL TREE AVL tree is a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees cannot be more than one for all nodes. For example :    (Left : Correct AVL Tree || Right : Wrong AVL Tree) The reason why right AVL tree is wrong because the above tree is not AVL because differences between heights of left and right subtrees for 8 and 18 is greater than 1. AVL trees have an additional guarantee: The difference between the depth of right and left subtrees cannot be more than one. In order to maintain this guarantee, an implementation of an AVL will include an algorithm to rebalance the tree when adding an additional element would upset this guarantee. AVL trees have a worst case lookup, insert and delete time of O(log n). In AVL Tree, we can perform Insertion and Deletion. ·        Insertion To make sure that the given tree remains AV...

Binary Tree Introduction

BINARY TREE DATA STRUCTURE               A tree whose elements have at most 2 children is called a binary tree. Since each element in a binary tree can have only 2 children, we typically name them the left and right child. PARTS OF NODE IN BINARY TREE : 1.       Data, 2.       Pointer to left child, and 3.       Pointer to right child. THE USED FROM BINARY TREE ARE FOLLOWING : 1.       Manipulate hierarchical data, 2.       Make information easy to search, 3.       Manipulate sort list of data, 4.       Composting digital images for visual effect, 5.       Router Algorithms, and 6.         Form of a multi-stage decision-making (see business chess). TREE’S PART 1. ...