Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data Queue Sandy dan Erick. Topik Bahasan Queue Cara Kerja Queue Kelemahan Queue (original) Varian Queue Aplikasi Queue.

Presentasi serupa


Presentasi berjudul: "Struktur Data Queue Sandy dan Erick. Topik Bahasan Queue Cara Kerja Queue Kelemahan Queue (original) Varian Queue Aplikasi Queue."— Transcript presentasi:

1 Struktur Data Queue Sandy dan Erick

2 Topik Bahasan Queue Cara Kerja Queue Kelemahan Queue (original) Varian Queue Aplikasi Queue

3 Queue Head / Front Rear / Tail 01234567 Prinsip Kerja: 1.FIFO (First In First Out) 2.Menggunakan analogi sistem antrian 3.Bagian yang telah terpakai, tidak dapat digunakan lagi

4 Cara Kerja Queue (INSERT) Head / Front Rear / Tail 0 Tail + 1 INSERT : 5 Masukkan nilainya 5 INSERT : 8 Tail + 1 Masukkan nilainya 8 INSERT : 3 1 Tail + 1 2 Masukkan nilainya 3 Proses INSERT: 1.Tambahkan index Tail 2.Geser Tail ke index yang baru 3.Masukkan nilainya

5 Cara Kerja Queue (DELETE) Head / Front Rear / Tail 0 Ambil isi Head DELETE 5 8 1 2 3 Proses DELETE: 1.Ambil isi yang ditunjuk Head 2.Tambahkan index Head 3.Geser index Head ke index baru 49 7 3 45 Head + 1 DELETE Ambil isi Head Head + 1 DELETE Ambil isi Head Head + 1

6 Kekurangan Queue Terdapat alokasi memory yang terbuang percuma Sering juga disebut dengan istilah Wasting Area / Die Area Oleh karena itu dikembangkanlah Circular Queue Head Tail 3 5 7 4 6 8

7 Queue vs Stack Queue 1.FIFO (First In First Out) 2.INSERT / DELETE 3.2 index (head, tail) Stack 1.LIFO (Last In First Out) 2.PUSH/ POP 3.1 index (top)

8 Varian Queue 1.Queue (Original) 2.Circular Queue Head / Front Rear / Tail 01234567 Head Tail 3 5 7 4 6 8 3.Priority Queue 4. Deque Head / Front Rear / Tail 01234567 Head / Front Rear / Tail 01234567

9 Priority Queue Bentuk seperti Queue Original Setiap node memiliki priority Delete akan dilakukan pada node yang memiliki prioritas tertinggi Insert tetap di Tail, tetapi Delete dapat di tengah-tengah

10 Implementasi Priority Queue (1) Dengan menggunakan pointer / index Out Untuk menunjuk node dengan prioritas tertinggi Hingga saat akan dilakukan DELETE, yang ditunjuk oleh Out lah yang lebih dahulu keluar. Head / Front Rear / Tail 01234567 Out

11 Contoh: Head / Front Rear / Tail 01234567 Out 2 4 5 78 9 11 3 Insert tetap di Tail Out akan selalu (berpindah-pindah) menunjuk node yang prioritasnya paling besar Saat DELETE, yang diambil adalah node yang ditunjuk oleh Out

12 Implementasi Priority Queue (2) Dengan mengurutkan isi Queue terlebih dahulu Sehingga node dengan prioritas terbesar selalu ditunjuk oleh Head Hingga saat akan dilakukan DELETE, yang ditunjuk oleh Head lah yang lebih dahulu keluar Head / Front Rear / Tail 01234567

13 Contoh: Head / Front Rear / Tail 01234567 245789113 Insert tetap di Tail Setiap selesai INSERT, isi Queue akan diurutkan kembali Hingga priority terbesar selalu ada pada Head Akibatnya DELETE akan tetap selalu dari Head INGAT:Sort tidak harus selalu dari BESAR – KECIL atau sebaliknya. Sort dilakukan sesuai kebutuhan.

14 Deque Deque (double-ended queue) adalah Queue dimana insert dan delete dapat dilakukan pada kedua ujungnya. Merupakan penggabungan antara konsep Stack dan Queue

15 Aplikasi dengan Queue Simulasi antrian di supermarket Simulasi penjualan stok barang barang lama (yang sudah masuk gudang terlebih dahulu), harus yang pertama dijual untuk menghindari tanggal kadarluasa SSSS (State Space Solution Search) metode pencarian langkah-langkah untuk menyelesaikan masalah misal: Misionaris dan Kanibal

16 Queue in C# //deklarasi Queue myqueue = new Queue (); //INSERT myqueue.Enqueue(6); //DELETE int angka = queue.Dequeue();

17 Priority Queue in C# (1) C#.NET doesn’t have Priority Queue, but we can create it public class PriorityQueue where T : IComparable { // Implementation code here }

18 Priority Queue in C# (2) public class Employee : IComparable { public string lastName; public double priority; public int CompareTo(Employee other) { if (this.priority < other.priority) return -1; else if (this.priority > other.priority) return 1; else return 0; }

19 Deque C# doesn’t have Deque class, but we can create it too See Deque Implementation in C# by Leslie Sanford (2006)


Download ppt "Struktur Data Queue Sandy dan Erick. Topik Bahasan Queue Cara Kerja Queue Kelemahan Queue (original) Varian Queue Aplikasi Queue."

Presentasi serupa


Iklan oleh Google