Sabtu, 07 Maret 2020

Stack dan queue

                                                        Apa itu stack?

Stack adalah data structure yang menyimpan elemennya secara berurutan. Jika dianalogikan, stack seperti sebuah tumpukan piring. Ketika ingin mengambil piring, maka kita mengambilnya dari piring yang paling atas.

Stack adalah linear data structure. Stack bisa dibuat dengan menggunakan array atau linked list. Data dalam stack disimpan dengan prinsip Last in First Out(LIFO).


                                                    Array dalam stack

Array memiliki 2 variable yaitu top dan max. Top berguna untuk menyimpan alamat dari elemen teratas dalam sebuah stack. Max berguna untuk menyimpan jumlah maksimal dari elemen yang bisa disimpan oleh stack.

                                            

                                                  Linked list dalam stack                                                                                                  

Membuat stack menggunakan array lebih mudah daripada menggunakan linked list. tapi kelemahan dari memakai array adalah jumlah data tidaklah dinamis. berbeda dengan jika kita menggunakan linked list. Dalam linked stack terdapat node. setiap node memiliki 2 bagian. yaitu, bagian yang menyimpan data, dan bagian yang menyimpan alamat node selanjutnya. Dalam linked stack, Top adalah start pointer. insertion atau deletion terjadi di node yang ditunjuk oleh top.                                                                 

 Macam-macam operasi dalam stack

dalam stack kita dapat melakukan beberapa operasi yaitu push(x), pop(), dan top(). Push(x) yaitu menambahkan item x di data teratas stack. pop() yaitu menghapus item dari data teratas stack, dan top() yaitu mengembalikan data teratas stack.

prefix, infix dan postfix

prefix adalah operator yang ditulis sebelum operand.berikut adalah contoh prefix: *5 10.  infix adalah operator yang ditulis di antara operand. berikut adalah contoh infix: 3 * 8. postfix adalah operator yang ditulis setelah operand. berikut adalah contoh postfix: 9 3 *.

                                                    Depth First Search

Depth first search ( DFS ) adalah sebuah algoritma untuk melakukan traversing atau searching di dalam tree atau graph. DFS mempunyai beberapa manfaat. Diantaranya adalah dalam sorting topologi, dan mencari komponen yang terhubung.


     ==========================================================                                                   

                                                         Apa itu queue?

Queue adalah data structure yang menyimpan elemen secara berurutan. Contoh queue dalam kehidupan sehari-hari adalah mengantri masuk ke dalam bis. Orang yang mengantri pertama akan masuk lebih dulu ke dalam bisa. Sama seperti stack, kita dapat membuat queue dengan menggunakan array atau linked list. Perbedaan antara stack dan queue adalah stack menggunakan prinsip Last in First Out ( LIFO ), sedangkan queue menggunakan prinsip First In First Out ( FIFO ).

                                                    Array dalam queue

Queue memiliki 2 variable yaitu front dan rear. berikut adalah contoh representasi array dalam queue.

Dari gambar di atas dalam kita lihat front nya yaitu 0, dan rear nya yaitu 5.


Linked List dalam queue

Dalam linked queue, setiap elemen memiliki 2 bagian yaitu yang menyimpan data dan yang menyimpan alamat dari elemen selanjutnya. Dalam linked queue, Front adalah start pointer nya.

                                             Operasi-operasi dalam queue 

Operasi - operasi yang bisa dilakukan dalam queue yaitu push(x), pop(), dan front(). Push(x) adalah menambahkan item x ke belakang queue. pop() adalah menghapus item dari depan queue. dan front() adalah mengembalikan item terdepan dalam queue.

                                                  pengaplikasian queue

berikut adalah beberapa pengaplikasian queue: deques, priority queues, dan Breadth First Search ( BFS ).

Tidak ada komentar:

Posting Komentar