Sunday, March 29, 2020

STACK AND QUEUE 


• Stack Concept

Teori Stack dapat di implementasikan ke dalam array dan link list. Namun, jika memakai array, data yang digunakan akan terbatas. Sedangkan apabila memakai link list, dapat menampung data sampai tak terhingga atau unlimited.

• Array Representation

Kelebihan: bisa di book terlebih dahulu.
Kelemahan: jika ingin book 9 data, maka hanya dapat menampung 9 data tersebut.

• Linked List Representation

Membuat link list lebih mudah dengan menggunakan array, karna dapat lebih dulu di booking dan di deklarasikan terlebih dahulu sehingga tidak ada data yang ganda atau sama.

• Stack operations

Stack: tumpukan
Queue: antrian

Terdapat 3 macam operasi pada Stack:

1. Push: menambahkan data yang paling atas
2. Pop: mengambil data dari paling atas
3. Top: mengembalikan data yang paling atas

• Prefix, Infix, dan Postfix

Kenapa harus belajar materi ini?
Karna pada masa dulu, komputer tidak bisa mendeteksi kurung kurawal. Sehingga kita harus mengubah kurung kurawal tersebut menjadi bentuk prefix, infix, maupun postfix.

Pada prefix, infix, dan postfix, terdapat yang namanya operator dan operan. Operan merupakan variabel yang dapat dihitung. Sedangkan operator adalah bentuk pengoperasi seperti '+', '-', '*', '/', dll.

1. Infix

Cth: 4 * 10
Operator selalu berada di tengah.
Infix: operan operator operan

2. Prefix

Cth: * 4 10
Operator selalu berada di depan.
Prefix: operator operan operan

3. Postfix

Cth : 4 10 *
Operator selalu berada di belakang.
Postfix: operan operan operator

Dari ketiga contoh diatas, dapat disimpulkan bahwa:
* adalah operator.
4 dan 10 adalah operan.

• Depth First Search (DFS)

Digunakan untuk mencari jarak terdekat dan tersimple.

• Queue

Sama seperti stack, terdapat 3 macam operation yang digunakan dalam queue.

3 macam operasi pada queue:

1. Push: memasukan item ke index yang berada di paling belakang yang belum terisi data (NULL).
2. Pop: menghilangkan data yang berada di paling depan.
3. Front: mengembalikan data ke index paling awal/depan.

• Deques

Dibaca "dek", singkatan dari Double Ended Queue.
Bisa memasukan data di sebelah kiri maupun kanan dan data yang sudah selesai akan ditarik ke bagian tengah.

Kelebihan : dapat mengetahui data mana yang lebih cepat

1. Input Restricted Dequeu

Input nya dibatasi hanya boleh satu

2. Output Restricted Deque

Inputnya unlimited tapi output nya satu

3. Priority Deque

Menghapus satu data agar dapat memprioritaskan data yang akan dikerjakan terlebih dahulu.

• Breadth First Search

Print secara berurutan (print in order). Jika di push ABCD maka akan di print ABCD. Dengan konsep siapa masuk duluan, maka akan keluar duluan atau First In First Out.

(2 Maret 2020)

No comments:

Post a Comment