Data Structure Session 3




Data Structure Session 3

Pada kesempatan kali ini saya akan membahas tentang Data Structure dari apa yang saya dapatkan di pertemuan ketiga dikelas yang saya ikuti. Kali ini saya akan membahas tentang Stack dan Queue sejauh yang saya ketahui. 

Stack

Stack adalah kumpulan data yang disimpan dalam satu lajur linear yang terlihat seperti ada data lain yang menumpuk diatasnya. Konsep utama dari stack adalah LIFO (Last In First Out) yang artinya data yang terakhir kali dimasukkan itulah data yang pertama kali keluar. Stack dapat dianalogikan seperti tumpukan piring yang akan kita cuci, piring paling atas adalah piring terakhir namun piring tersebut yang pertama kali selesai dicuci. Dalam stack juga dikenal "DFS" yaitu Depth First Search yang biasa digunakan untuk mapping.

Stack Operation terdiri dari :
  • Push : Menambahkan data pada tumpukan paling atas.
  • Pop : Mengambil data dari tumpukan paling atas.
  • Clear : Digunakan untuk mengosongkan tumpukan.




Infix, Prefix dan Postfix

Mengapa kita perlu tahu tentang notasi prefix/postfix ? Karena notasi ini tidak memerlukan bracket "()" untuk menentukan prioritas urutan sehingga komputer menjadi lebih cepat mengeksekusinya.

  • Prefix : Operator yang ditulis sebelum operan (Operator Operan Operan).
  • Infix : Operator yang ditulis ditengah operan (Operan Operator Operan).
  • Postfix : Operator yang ditulis setelah operan (Operan Operan Operator).
Postfix artinya komputer mengeksekusi / menscan dari kiri sedangkan prefix dari kanan.

Contoh :

4 + 6 * (5 - 2) / 3
Prefix : + 4 / *6 - 5 2 3
Postfix : 4 6 5 2 - * 3 / +


Queue

Queue adalah kumpulan data linear yang dimana penambahan data dilakukan disalah satu ujung dan pengurangan dilakukan diujung yang lainnya. Konsep Queue adalah FIFO (First In First Out) yang artinya data yang pertama masuk adalah data yang pertama kali keluar. Umumnya konsep queue harus memiliki variabel head yang berguna sebagai penanda bagian depan data, variabel tail sebagai penanda bagian belakang data. Ada istilah "BFS" yaitu Breadth First Search yang kebanyakan digunakan untuk mencari connected komponen pada graph.

Queue Operation terdiri dari :
  • Push / enqueue : Menambahkan data ke bagian paling belakang antrian.
  • Pop / dequeue : Mengambil data dari bagian paling depan antrian.
Adapun istilah Circular Queue yaitu jika data sudah penuh maka akan mengulang kebagian depan yang kosong. Caranya adalah tail -> next = head; . Konsep ini kebanyakan digunakan untuk OS (Operating System).

Komentar