Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data Queue Sandy dan Erick.

Presentasi serupa


Presentasi berjudul: "Struktur Data Queue Sandy dan Erick."— 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 1 2 3 4 5 6 7 Prinsip Kerja:
1 2 3 4 5 6 7 Prinsip Kerja: FIFO (First In First Out) Menggunakan analogi sistem antrian Bagian yang telah terpakai, tidak dapat digunakan lagi

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

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

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 FIFO (First In First Out) INSERT / DELETE
2 index (head, tail) Stack LIFO (Last In First Out) PUSH/ POP 1 index (top)

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

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 1 2 3 4 5 6 7 Out

11 Contoh: Head / Front Rear / Tail 1 2 3 4 5 6 7 Out 8 9 11
1 2 3 4 5 6 7 Out 8 9 11 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 1 2 3 4 5 6 7

13 Contoh: Head / Front Rear / Tail 1 2 3 4 5 6 7 8 9 11
1 2 3 4 5 6 7 8 9 11 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<int> myqueue = new Queue<int>(); //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 <T > where T : IComparable <T > { // Implementation code here }

18 Priority Queue in C# (2) public class Employee : IComparable <Employee > { 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."

Presentasi serupa


Iklan oleh Google