1 / 40

List, Stack & Queue (1)

List, Stack & Queue (1). Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/ds.html. Beberapa Jenis Struktur Data. Array Linear List Stack Queue List Connected List Circular List Doubly-linked List Multi list structure Tree Structure. Apa ?

aqua
Download Presentation

List, Stack & Queue (1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. List, Stack & Queue (1) Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/ds.html

  2. Beberapa Jenis Struktur Data • Array • Linear List • Stack • Queue • List • Connected List • Circular List • Doubly-linked List • Multi list structure • Tree Structure • Apa ? • Bagaimana cara implementasinya ?

  3. Linear List

  4. Apakah Linear List itu ? • Sekumpulan elemen yang diatur secara terurut • Linear List tidak sama dengan Connected-List

  5. Operasi pada Linear List

  6. List, Stack & Queue • Tidak semua operasi list diperlukan pada setiap program • Penentuan struktur data didasarkan pada operasi yang diperlukan saja agar bisa berjalan dengan efisien • Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarangposisi • Bentuk khusus linear list: Penambahan elemen dan penghapusannya dilakukan di posisi terdepan atau posisi terbelakangsaja Stack Queue Stack dan Queue juga merupakan salah satu jenis list

  7. List, Stack & Queue • Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarangposisi • Penambahan dan penghapusan elemen pada stack/queue dilakukan di posisi terdepan atau posisi terbelakangsaja 1 2 3 4 5 6 List Stack Queue 1 2 3 4 5 6 1 2 3 4 5 6

  8. Stack

  9. Apakah Stack itu ?

  10. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH top== bottom 1

  11. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH top 2 bottom 1

  12. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH top 3 2 bottom 1

  13. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH top 4 3 2 bottom 1

  14. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi PUSH : Menambahkan elemen pada sebuah stack top 5 PUSH 4 3 2 bottom 1

  15. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi PUSH : Menambahkan elemen pada sebuah stack top 6 5 PUSH 4 3 2 bottom 1

  16. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi POP : Menghapus sebuah elemen dari sebuah stack top 6 5 POP 4 3 2 bottom 1

  17. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi POP : Menghapus sebuah elemen dari sebuah stack top 5 POP 4 3 2 bottom 1

  18. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi POP : Menghapus sebuah elemen dari sebuah stack POP top 4 3 2 bottom 1

  19. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi POP : Menghapus sebuah elemen dari sebuah stack POP top 3 2 bottom 1

  20. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi POP : Menghapus sebuah elemen dari sebuah stack POP top 2 bottom 1

  21. Apakah Stack itu ? • Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan • Yang dihapus adalah elemen yang paling terakhir ditambahkan • Nama lain: LIFO (Last In First Out) • Operasi POP : Menghapus sebuah elemen dari sebuah stack POP top==bottom 1

  22. Apakah Stack itu ? PUSHdanPOP

  23. Stack Overflow & Stack Underflow • Stack Overflow Menambahkan data pada sebuah stack yang telah penuh • Stack Underflow Menghapus data dari sebuah stack yang sudah kosong

  24. Queue

  25. Apakah Queue itu ?

  26. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi ENQUEUE: menambahkan data pada sebuah list ENQUEUE 1 front==rear

  27. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi ENQUEUE: menambahkan data pada sebuah list ENQUEUE 1 2 rear front

  28. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi ENQUEUE: menambahkan data pada sebuah list ENQUEUE 1 2 3 rear front

  29. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi ENQUEUE: menambahkan data pada sebuah list ENQUEUE 1 2 3 4 rear front

  30. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi ENQUEUE: menambahkan data pada sebuah list ENQUEUE 1 2 3 4 5 rear front

  31. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi ENQUEUE: menambahkan data pada sebuah list ENQUEUE 1 2 3 4 5 6 rear front

  32. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi DEQUEUE: menghapus data pada sebuah list DEQUEUE 1 2 3 4 5 6 rear front

  33. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi DEQUEUE: menghapus data pada sebuah list DEQUEUE 2 3 4 5 6 rear front

  34. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi DEQUEUE: menghapus data pada sebuah list DEQUEUE 3 4 5 6 rear front

  35. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi DEQUEUE: menghapus data pada sebuah list DEQUEUE 4 5 6 rear front

  36. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi DEQUEUE: menghapus data pada sebuah list DEQUEUE 5 6 rear front

  37. Apakah Queue itu ? • Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain • Data yang dihapus adalah data yang paling awal ditambahkan • Nama lain: FIFO (First In First Out) • Operasi DEQUEUE: menghapus data pada sebuah list DEQUEUE 6 front==rear

  38. Animasi Queue ENQUEUE dan DEQUEUE

  39. Latihan 1 • Gambarkan kondisi stack setelah dilakukan operasi berikut: push(10); push(2); pop(); push(20); pop(); push(15); push(5); 2 10 10

  40. Latihan 2 • Gambarkan kondisi queue setelah dilakukan operasi berikut: enqueue(10); enqueue(32); enqueue(5); dequeue(); enqueue(10); dequeue(); dequeue(); 10 10 32

More Related