วันอังคารที่ 1 กันยายน พ.ศ. 2552

DTS07 - 01-09-52

สรุปเรื่อง Queue
คิว (Queue) เป็นโครงสร้างข้อมูลแบบเชิงเส้นหรือลิเนียร์ลิสต์ การเพิ่มข้อมูลจะกระทำที่ปลายข้างหนึ่ง เรียกว่าส่วนท้ายหรือเรียร์ (rear) และการนำข้อมูลออกจะทำอีกข้างหนึ่ง เรียกว่า ส่วนหน้า หรือฟรอนต์ (front)

ลักษณะการทำงานของคิว
เป็นลักษณะของการเข้าก่อนออกก่อนหรือที่เรียกว่า FIFO (First In First Out)
การทำงานของคิว
- การใส่สมาชิกตัวใหม่ลงในคิว เรียกว่า Enqueue
- การนำสมาชิกออกจากคิว เรียกว่า Dequeue
- การนำข้อมูลที่อยู่ตอนต้นของคิวมาแสดง เรียกว่า Queue Front
- การนำข้อมูลที่อยู่ตอนท้ายของคิวมาแสดง เรียกว่า Queue Rear

การแทนที่ข้อมูลของคิวมี 2 วิธี
1.การแทนที่ข้อมูลของคิวแบบลิงค์ลิสต์ประกอบไปด้วย 2 ส่วน คือ
(1)Head Node ประกอบไปด้วย 3 ส่วน คือ พอยเตอร์ 2 ตัว คือ Front และ rear กับจำนวนสมาชิกในคิว
(2)Data Node ประกอบไปด้วยข้อมูลและพอยเตอร์ที่ชี้ไปยังข้อมูลถัดไป
2.การแทนที่ข้อมูลของคิวแบบอะเรย์การนำข้อมูลเข้าจะต้องดูว่าคิวเต็มหรือว่างไหม ถ้านำข้อมูลเข้าไปจะทำให้เกิดความผิดพลาดขึ้น overflowการนำข้อมูลออกจากคิว จะไม่สามารถทำได้ถ้านำข้อมูลออกแล้วทำให้คิวว่าง จะทำให้เกิดความผิดพลาดขึ้น underflowกรณีคิวเป็นแบบวงกลม คิวจะเต็มก็ต่อเมื่อมีการเพิ่มข้อมูลเข้าไปในคิวเรื่อยๆ จะนกระทั้ง rear มีค่าน้อยกว่า front อยู่หนึ่งค่า คือ rear = front - 1การดำเนินการเกี่ยวกับคิว
1.Create Queue การจัดสรรหน่วยความจำให้แก่ Head Node และให้ค่า pointer
2.Enqueue การเพิ่มข้อมูลเข้าไปในคิว
3.Dequeue การนำข้อมูลออกจากคิว
4.Queue Front การนำข้อมูลที่อยู่ส่วนต้นของคิวมาแสดง
5.Queue Rear การนำข้อมูลที่อยู่ส่วนท้ายของคิวมาแสดง
6.Empty Queue การตรวจสอบว่าคิวว่างหรือไม่
7.Full Queue เป็นการตรวจสอบว่าคิวเต็มหรือยัง
8.Queue Count การนับจำนวนสามาชิกที่อยู่ในคิว
9.Destroy Queue การลบข้อมูลทั้งหมดที่อยู่ในคิว

การประยุกต์ใช้คิว
คิวถูกประยุกต์ใช้มากในการจำลองระบบงานธุรกิจ เช่น การให้บริการลูกค้า คือ ต้องวิเคราะห์จำนวนลูกค้าในคิว เพื่อให้ลูกค้าเสียเวลาน้อยที่สุด ในด้านคอมพิวเตอร์ ได้นำคิวเข้ามาใช้ คือ ในระบบปฏิบัติการ ในเรื่องของคิวของงานที่เข้ามาทำงาน จัดให้งานที่เข้ามาได้ทำงานคามลำดับความสำคัญ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น