งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

โครงสร้างข้อมูล Queues

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "โครงสร้างข้อมูล Queues"— ใบสำเนางานนำเสนอ:

1 โครงสร้างข้อมูล Queues

2 Using a Queue

3 Queues คิวเป็นโครงสร้างข้อมูลเชิงเส้นที่สามารถเพิ่ม ข้อมูลเฉพาะตำแหน่งส่วนท้ายคิวที่เรียกว่า Rear และลบข้อมูลเฉพาะตำแหน่งส่วนหัวคิวที่เรียกว่า Front คิวเป็นโครงสร้างข้อมูลแบบเข้าก่อนออกก่อน (First In First Out : FIFO)

4 ตัวอย่างของคิว

5 ตัวอย่างการประยุกต์คิวมาใช้งานบนคอมพิวเตอร์
การเข้าคิวของโปรเซสหรืองานต่างๆ เพื่อรอการประมวลผลจากซีพียูตามลำดับ การเข้าคิวเพื่อรอพิมพ์ผลลัพธ์จากเครื่องพิมพ์

6 การดำเนินงานของคิว Queue Operation
โครงสร้างข้อมูลแบบคิวจะมีส่วนคล้ายกับโครงสร้างข้อมูลแบบสแต็ก แต่ความแตกต่างระหว่างโครงสร้างทั้งสองก็คือ ในการสร้างคิวเพื่อใช้งานจำเป็นต้องมีส่วนที่ใช้ติดตามทั้งส่วนหัวคิวและท้ายคิวนั่นหมายความว่าจะมีพอยน์เตอร์ถึงสองตัวโดยพอยน์เตอร์แต่ละตัวจะชี้ตรงตำแหน่งปลายทั้งสองด้านซึ่งก็คือส่วน Front และ Rear แต่สแต็กจะมีเพียงพอยน์เตอร์เดียวที่ใช้จัดการกับข้อมูลตรงส่วน Top ของสแต็ก

7 ฟังก์ชันการดำเนินงานพื้นฐานของคิว
1. Enqueue (ใส่หรือเพิ่ม ในตำแหน่งของ Rear) 2. Dequeue(การลบ ที่ตำแหน่ง Font) 3. Queue Front (การขอดูข้อมูลในคิว) 4. Queue Rear(การขอดูข้อมูลในคิว)

8 Queue Operation Enqueue – การใส่ข้อมูลลงในแถวคอย
ต้องใส่ข้อมูลด้านท้ายแถวเสมอ ต้องตรวจสอบว่า queue เต็มหรือไม่ DATA 3 DATA 2 DATA 1

9 Queue Operation Dequeue – นำข้อมูลออกจาก queue
ต้องนำข้อมูลหัวแถวออกก่อนเสมอ ต้องตรวจสอบว่า queue ว่างหรือไม่ DATA 3 DATA 2 DATA 1

10 Queue Operation Front – แสดงข้อมูลที่อยู่หัวแถว DATA 1
แสดงค่าข้อมูลที่อยู่หัวแถวโดยไม่ได้ดึงข้อมูลออก ต้องตรวจสอบว่าเป็น queue ว่างหรือไม่ DATA 1 DATA 2 DATA 3 DATA 1

11 Queue Operation Rear – แสดงข้อมูลที่อยู่ท้ายแถว DATA3
แสดงค่าข้อมูลท้ายแถวโดยไม่ได้ดึงข้อมูลออก ต้องตรวจสอบว่าเป็น queue ว่างหรือไม่ DATA 1 DATA 2 DATA 3 DATA3

12 Enqueue การใส่หรือเพิ่มข้อมูลลงในคิวที่ตำแหน่ง Rear การเพิ่มข้อมูลเข้าไปในคิวจะต้องมีพื้นที่ว่างพอที่จะใส่สมาชิกใหม่เข้าไปถ้าพื้นที่ไม่เพียงพอก็จะทำให้เกิดสถานะ Overflow

13 Dequeue การนำข้อมูลที่ตำแหน่ง Front ออกจากคิวหรือการลบข้อมูลที่ตำแหน่ง Front ถ้าการลบข้อมูลในคิวถ้าคิวไม่มีสมาชิกอยู่จะทำให้เกิดสถานะ Underflow

14 Queue Front การขอดูข้อมูลในคิวที่ตำแหน่ง Front

15 Queue Rear การขอดูข้อมูลในคิวที่ตำแหน่ง Rear

16 Queue Implementation คิวเป็นโครงสร้างข้อมูลที่ผู้ใช้จะต้องสร้างขึ้นมาเอง โดยสามารถสร้างจากโครงสร้างข้อมูลดังต่อไปนี้ 1. ลิงค์ลิสต์ 2. อาร์เรย์

17 การออกแบบคิวด้วยลิงค์ลิสต์ Queue Linked List Design

18 ส่วนประกอบคิวด้วยลิงค์ลิสต์

19 ตัวอย่างการใช้งาน

20

21 อัลกอริทึมของคิว Queue Algorithms
Create Queue การสร้างคิว Enqueue การเพิ่มข้อมูล Dequeue ลบข้อมูล Retrieving Queue Data การดึงข้อมูล Queue Front Queue Rear Empty Queue ตรวจสอบคิวว่าง Full Queue ตรวจสอบคิวเต็ม Queue Count นับจำนวนสมาชิก Destroy Queue ลบคิว

22 ตัวอย่างการ Enqueue กรณีที่ 1 เพิ่มข้อมูลในคิว ที่ยังไม่มีข้อมูลเลย
กรณีที่ 2 เพิ่มข้อมูลในคิวที่มีข้อมูลอยู่แล้ว

23 ตัวอย่างการ Dequeue

24 การออกแบบคิวด้วยอาร์เรย์ Queue Array Design

25 ปัญหาที่อาจเกิดขึ้นขณะใช้งาน
เมื่อมีการ Dequeue และ Enqueue อาจจะทำให้พื้นที่ด้านหลังของอาร์เรย์เต็ม แต่ช่องว่างด้านหน้าของอาร์เรย์ยังว่างอยู่

26 วิธีการแก้ไข Front rear

27 การใช้เทคนิคคิวแบบวงกลม Circular Queue

28

29 แบบฝึกหัด อธิบายพร้อมวาดภาพประกอบคิวเป็นโครงสร้างข้อมูลรูปแบบใด และมีความแตกต่างกับสแต็กอย่างไร อธิบายโครงสร้างข้อมูลแบบคิวที่สร้างด้วยลิงก์ลิสต์ประกอบด้วยสองส่วนสำคัญอยู่ 2 ส่วนด้วยกันคืออะไรบ้าง ยกตัวอย่างการประยุกต์ใช้คิวในงานบนคอมพิวเตอร์ อธิบายฟังก์ชันการดำเนินงานพื้นฐานของคิวมีกี่อย่างอะไรบ้าง

30 Stack enQ deQ

31 Achaporn Input Achaporn output nropahca
โดยให้ นศ. นำหลักการทำงานของ Stack และ Q มาใช้ในการแก้ปัญหา


ดาวน์โหลด ppt โครงสร้างข้อมูล Queues

งานนำเสนอที่คล้ายกัน


Ads by Google