Tuesday, March 3, 2020

Data Structre (II) Linked List and Array List

  Stack Concept
   Stack adalah data structure yang penting dimana element nya disusun secara berurut yang saling menumpuk ke atas. Stack adalah data structure linier yang dapat diimplementasikan dalam Array List maupun Linked List. Penyusunan data dalam bentuk LIFO (Last in First Out).

   Stack dalam Array :
Stack dalam array mempunyai 2 variabel :

  • Top : Untuk menyimpan address dari suatu data / elemen terakhir
  • Max : Menyimpan batas banyak suatu baris data.
   Stack dalam Linked List :
Perbedaannya dengan Stack pada array list adalah dimana banyak datanya untuk array list harus dideklarasikan terlebih dahulu sebelum run suatu program. Dalam Linked List Stack ada dua Node yang dibutuhkan yaitu :

  • Satu untuk menyimpan data
  • Satu lagi untuk menyimpan alamat dari data lain atau berikutnya
Berikut ada 3 Stack Operation :

  1. Push () : Untuk menambahkan suatu data dalam suatu List
  2. Pop () : Merupakan suatu operasi penghapusan data dalam List sehingga data itu                         hilang dari daftar List tersebut.
  3. Top()/Peek() : Untuk mencari tau data mana yang berada diatas . Data awal pada                                     Stack merupakan data yang terletak paling bawah / pertama kali                                         masuk.
Penggunaan Stack Application :
  • Menukar balik urutan suatu data
  • Mengubah infix menjadi postfix dan sebaliknya
  • Mentracking masalah dari belakang
  • Digunakan dalam recursive function
  • Mengubah nilai desimal ke binary number
Queue
Merupakan suatu data secara berurut menyerupai Stack tapi berbeda cara urut dimana data pertama masuk maka data itu pun yang diproses terlebih dahulu. Seperti contoh dalam kehidupan sehari-hari : Berdiri mengantri untuk membeli tiket bioskop, menunggu kedatangan bis.

Queue dalam array List :
Mempunyai dua variabel yaitu; Depan , dan Belakang yang menunjuk posisi dimana dalam penghapusan dan pengisian data lebih lancar dan efektif.

Queue dalam Linked List :
Sebenarnya hampir sama dengan stack dalam Linked List hanya saja perbedaan dimana pointer pertamanya merupakan first / headnya, dan data akan berakhir pada rear/ tail.

Queue Operation :

  1. Push(x) = untuk memasukan data baru ke dalam suatu List.
  2. Pop(x) = untuk menghapus data yang sudah ada list menjadi keluar atau hilang dari                       List.
  3. Front(x) = Untuk melihat atau return elemen / data pertama dari List
Circular Queue :
Hampir sama dengan Queue hanya saja perbedaaanya pada data pertama dan akhir tidak menunjuk ke NULL melainkan menunjuk ke data lainnya / setiap data pada List harus menunjuk ke suatu elemen lain dalam suatu List.


Deque :
Merupakan suatu proses yang menggunakan Queue operation. Adalah List dimana elemen bisa dimasukan dan dihapus kembali ( lebih dikenal dengan head-tail Linked List).

Secara Kesimpulan pada Queue dan Stack adalah pada bentuk dari data nya dimana untuk Stack data yang pertama kali dimasukan menjadi data terakhir data suatu List sedangkan untuk Queue ,data pertama tetap menjadi data pertama dalam List tersebut.





No comments:

Post a Comment