Pertemuan 3 - Linked List Implementation II

Linked List Implementation II


STACK CONCEPT
Stack adalah struktur data linier yang dapat diimplementasikan dengan menggunakan array atau linked list.
Ø  Elemen dalam tumpukan ditambahkan dan dihapus hanya dari satu ujung, yang disebut bagian atas.
Ø  Data disimpan dalam cara Last In First Out (LIFO).


ARRAY REPRESENTATION
Ø  Stack mempunyai 2variable:
1.    TOP = NULL, ketika stack kosong
2.    MAX
Ø  TOP = MAX – 1, ketika stuck penuh


LINKED LIST REPRESENTATION
Ø  Setiap node memiliki 2 bagian:
o   Salah satunya untuk menyimpan data
o   Dan yang satunya lagi untuk menyimpan alamat dari node selanjutnya
Ø  MULAI pointer pada linked list digunakan sebagai TOP
Ø  Jika TOP = NULL, maka stacknya empty


STACK OPERATIONS
Ø  Push (x): menambahkan item x pada bagian atas dari stack
Ø  Pop (): menghapus item yang terdapat pada bagian atas stack
Ø  Top (): mengembalikan item yang terdapat pada bagian atas stack




STACK APPLICATIONS
     i.        Infix evaluation
    ii.        Postfix evaluation
  iii.        Prefix evaluation
   iv.        Infix to Postfix conversion
    v.        Infix to Prefix conversion
   vi.        Depth First Search


INFIX, POSTFIX, AND PREFIX NOTAION
Ø  Prefix notation, juga dikenal sebagai Reverse Polish notation
Ø  Infix notation (commonly used)
Postfix notation, juga dikenal sebagai polish notation


·       Prefix = Operator ditulis sebelum operan
·       Infix = operator ditulis antara operan
·       Postfix = operator ditulis setelah operan



DEPTH FIRST SEARCH
Ø  DFS adalah algoritma yang digunakan untuk mentransfer atau mencari pada pohon atau grafik
Ø  Aplikasi yang dimiliki oleh DFS:
ü  Menemukan poin dan jembatan artikulasi pada grafik
ü  Menemukan komponen yang terhubung
ü  Sorting topological


Visit order: A, C, B, E, D



OTHER STACK APPLICATIONS
Stack biasanya digunakan untuk:
Ø  Reverse the order of data
Ø  Convert infix expression into postfix
Ø  Convert postfix expression into infix
Ø  Backtracking problem
Ø  System stack is used in every recursive function
Ø  Converting a decimal number into its binary equivalent



QUEUE
Ø  Queue dapat diimplementasikan dengan menggunakan array atau linked list.
Ø  Unsur-unsur dalam antrian ditambahkan pada salah satu ujungnya yang disebut bagian belakang dan dilepaskan dari ujung yang satunya yang disebut depan.
Ø  Data disimpan dalam cara First In First Out (FIFO), ini adalah perbedaan utama antara stack dan queue



ARRAY REPRESENTATION
Front and rear adalah poin dari posisi dimana deletions dan insertions dapat berlangsung respectively



LINKED LIST REPRESENTATION
Ø  Mirip dengan stack, Mirip dengan stack, teknik membuat antrian menggunakan array itu mudah, namun kelemahannya adalah bahwa array harus dinyatakan memiliki beberapa ukuran tetap.
Ø  Dalam antrian tertaut, setiap elemen memiliki dua bagian
o   Yang menyimpan data
o   Lain yang menyimpan alamat elemen berikutnya
Ø  Papan START dari linked list digunakan sebagai FRONT
Ø  Semua penyisipan akan dilakukan di REAR, dan semua penghapusan dilakukan di ujung DEPAN.
Ø Jika FRONT = REAR = NULL, maka itu menunjukkan bahwa antrian kosong



OPERASI QUEUE
o   Push(x): menambahkan item x dari belakang queue.
o   Pop(): menghapus itemn dari depan queue.
o   Front(); mengembalikan dari paling depan queue.


Example of Queue Operations




APPLICATIONS QUEUE
Ø  Deques
Ø  Priority Queues
Ø  Breadth First Search

o   Deques
ü  Input restricted deque
Dalam sisipan dequeue ini bisa dilakukan hanya pada salah satu dequeue sementara penghapusan bisa dilakukan dari kedua ujungnya.

ü  Output restricted deque
Dalam penghapusan dequeue ini bisa dilakukan hanya pada salah satu dequeue sementara sisipan bisa dilakukan pada kedua ujungnya.

o   Priority Queue
ü  Priority Queue adalah tipe data abstrak dimana masing-masing elemen diberi prioritas
ü  Aturan umum elemen pemrosesan antrian prioritas bisa diberikan sebagai:
o   Elemen dengan prioritas lebih tinggi adalah proses sebelum elemen dengan prioritas lebih rendah
o   Dua elemen dengan prioritas yang sama diproses berdasarkan first come first served (FCFS)

o   Breadth First Search
Breadth First Search (BFS) seperti DFS juga merupakan algoritma untuk melintasi atau mencari di pohon atau grafik.
o   Kita mulai dari akar pohon (atau beberapa simpul acak di grafik) dan jelajahi semua level node tetangga per level sampai kita menemukan tujuannya.
o   BFS memiliki banyak aplikasi, seperti:
1.    Menemukan komponen yang terhubung dalam grafik.
2.    Menemukan jalur terpendek dalam grafik tanpa bobot.
3.    Metode Ford-Fulkerson untuk menghitung arus maksimum.






                                                        AFRINA SAFIRA DIANIRANI
                                                                                                                                     2101706772







Komentar

Postingan populer dari blog ini

Pertemuan 5 - Binary Search Tree

Pertemuan 1 - Pointer, Array, Data Structure