Skip to main content

Stack and Queue

Stack & Queue



Stack adalah konsep dimana dalam suatu linked list akan dilakukan penghapusan pada node terakhir baru node sebelumnya atau biasa orang menyebutnya dengan konsep "LIFO" (Last In First Out)

Konsep Stack :
- Pop : untuk menghapus data 
- Push : untuk menambah data baru
- Insert dan delete dari awal data 'top'

Queue adalah konsep dimana node pertama yang masuk akan meninggalkan node tersebut duluan atau bisa dibilang sesuai dengan artinya yaitu 'antri'. Jadi Queue menggunakan konsep 'FIFO' (First In First Out)

Konsep Queue:
- Enqueue : menambah data
- Dequeue : menghapus data
- Insert dimulai dari data terakhir
- Delete dimulai dari data pertama 

Queue

References :
cs.cmu.edu/~adamchik/15-121/lectures/Stacks%20and%20Queues/Stacks%20and%20Queues.html

Comments

Popular posts from this blog

Review

Single Linked List  merupakan suatu sistem penyimpanan dimana memori yang digunakan untuk penyimpanan digunakan secara dinamis (memori yang digunakan sesuai dengan ukuran dari data yang ditampung) Struktur Single Linked List (node) :  - Data yang ditmapung, dapat berupa : char,int, bool dan sebagainya - Pointer next   yang merefernce ke alamat node setelahnya Pendeklarasian: struct Mahasiswa{ char nama[20]; char nim[20]; struct Mahasiswa * next; }; Dalam  Single Linked List  dapat dilakukan juga : Insert, Delete maupun Update Ada beberapa cara dalam menginsert node baru : - Insert di awal ( head ) - Insert di akhir ( tail ) - Insert di  next  dari node yang ditunjuk Double Linked List  merupakana salah satu perkembangan dari single linked list yaitu penyimpanan data secara dinamis (menggunakan memori secukupnya) Struktur Double Linked List :  - Data yang ditampung, dapat ...

Heap dan Trie

HEAP heap merupakan algoritma yang konsepnya hampir sama dengan Tree yaitu memilki satu buah root yang akan becabang menampung node node lain yang memliki datanya masing - masing. Heap memilki dua struktur, yaitu :  - Max Heap  merupakan heap yang rootnya mempunyai value terbesar dan menampung node node yang memilki nilai value yang lebih kecil. - Min Heap merupakan heap yang rootnya mempunyai value terkecil dan menampung node node yang lebih besar dari value si root. Pengimplementasian heap digunakan pada Heap Sort (Heapify) :  - Descending membentuk max heap dari data yang diinput dan kemudian mereplace elemen terakhir dengan elamen terbesar di heap, heapify treenya dan kemudian ulangi prosesnya sampai arraynya tersorted - Ascending membentuk  min heap  dari data yang diinput dan kemudian mereplace elemen terakhir dengan elamen terkecil di heap, heapify treenya dan kemudian ulangi prosesnya sampai arraynya tersorted ...

Double Linked List

Doubly Linked List Double linked list (DLL) adalah pengembangan dari Single Linked List (SLL) dimana terdapat tambahan fitur baru yaitu tambahan pointer baru yang disebut sebagai prev.  Pada awalnya, Single Linked List (SLL) hanya mempunyai satu pointer penunjuk yaitu "next" dimana digunakan untuk menunjuk node berikutnya , sedangkan dengan menggunkan DLL, kita mereserve satu memori baru untuk membuat pointer yang menunjuk pada node sebelumnya yang sering dinamakan "prev". Gambar menunjukkan DLL yang mereserve memori untuk tiga data yaitu, pointer untuk prev , pointer untuk next dan valuenya. Dengan adanya bantuan "prev" dapat lebih memudahkan dalam memasukkan data secara terurut maupun dalam mencari node karena dapat dicompare dengan node sebelumnya maupun sesudahnya. Pendeklarasian: struct Mahasiswa{ char nama[20]; char nim[20]; struct Mahasiswa * next; struct Mahasiswa * prev; }; Dalam Doubly Linked list dapa...