Data Structures Pertemuan 3
Push:
- Enstack
- Enqueue
Pop:
- Destack
- Dequeue
STACK
- <LIFO> Last In First Out
- anggota teratas dari sebuah stack dinamakan TOP
- apabila TOP= NULL maka stack dinyatakan kosong
1. push (menambah anggota)
- pada saat melakukan push, dimulai dengan rumus TOP=TOP-1
- dan ketika TOP+1>=MAX maka push akan berhenti dan stack dinyakan penuh
2. pop (menguragni anggota)
- pada saat melakkan pop, digunakan tumus TOP-1
- dan ketika TOP bernilai TOP=-1, maka stack dinyatakan telah kosong
3. Infix,Prefix,dan Postfix
- Infix ialah operasi matematika seperti yang biasa kita kenal
Contoh:1+2 ; 2*3
- Prefix berbeda dengan infix, dimana prefix menggunakan rumus operator operand operand
Contoh: 1+2 menjadi + 1 2 ; 2*3 menjadi * 2 3
- sedangkan Postfix menggunakan rumus operand operand operator
Contoh: 1+2 menjadi 1 2 + ; 2*3 menjadi 2 3 *
- Komputer akan lebih mudah menyelesaikan operasi matematika postfix dan prefix dibandingkan infix.
DFS (Depth First Search) dan BFS (Breadth First Search)
- BFS=>mencari ke samping(Queue)
QUEUE
- <FIFO> First In First Out
- Rear digunakan untuk menunjukkan anggota yang paling terakhir masuk
- Front digunakan untuk menunjukkan anggota paling depan/yang pertama masuk
- Apabila front=rear maka queue dinyatakan kosong
1. Push
- Pada saat queue kosong, rumusnya adalah Front=Rear=-1
- Dan pada saat rear+1>=maksimal anggota queue, maka push akan berhenti
2. Pop
- Pop akan dilakukan dengan mengurangi anggota
- Dan akan berhenti apabila Front+1>=Rear
Yang membedakan ialah, pop pada Queue dilakukan dari anggota paling awal/depan/angota front, oleh karena itu setelah anggotanya semua di pop dan front bertemu dengan rear, tidak dapat lagi di push, oleh karena itu kita harus menggunakan circular Queue
CIRCULAR QUEUE
Perbedaan Circular Queue dengan Queue ialah terletak pada cara push dan popnya, dimana
1. Push
Push pada Circular Queue akan terus dilakukan dengan menggunakan rumus yang berlaku yakni
(Rear+1)%Max
2. Pop
Sedangkan pop menggunakan rumus
(Front+1)%Max