Queue
Queue
1.ลักษณะของคิว
โครงสร้างการทำงานแบบคิวคือการมีการจัดลำดับการเข้าและออกข้อมูลอย่างเป็นลำดับ
ข้อมูลใดเข้ามาก่อนก็จะดำเนินการก่อน
หากข้อมูลใดเข้ามาทีหลังก็จะดำเนินการทีหลัง
เรียกลักษณะของการดำเนินการแบบนี้ว่า First In First Out (FIFO) หรือเข้าก่อนออกก่อน
2.ประเภทของคิว
•คิวธรรมดา (Queue) หมายถึง
คิวที่มีการนำข้อมูลเข้าทางท้ายคิว (Rear) และนำข้อมูลออกหางคิว (Front)
โดยถ้าท้ายคิวไปอยู่ที่ตำแหน่งท้ายสุดของคิวแล้ว
ถึงแม้จะมีช่องว่างเหลือที่หัวคิวก็ไม่สามารถนำข้อมูลใหม่ไปเก็บได้
จนกว่าจะนำข้อมูลในคิวออกให้หมดก่อนจึงเริ่มนำข้อมูลใหม่ไปเก็บได้
•คิววงกลม (Circular Queue) หมายถึง
คิวที่ถูกออกแบบมาให้มีลักษณะเป็นวงกลมเพื่อให้สามารถนำข้อมูลใหม่ไปเก็บไว้ที่ช่องว่างด้านหน้าคิวได้
คิววงกลมออกแบบมาเพื่อแก้ปัญหาคิวธรรมดา
- ลักษณะคิววงกลม
•เหมือนคิวธรรมดาคือมีตัวชี้ 2 ตัวคือ
front และ rear สำหรับแสดงตำแหน่งหัวคิวและท้ายคิวตามลำดับ
•แตกต่างจากคิวธรรมดา คือ คิวธรรมดาเมื่อ rear ชี้อยู่ที่ตำแหน่งสุดท้ายของคิว
จะทำให้ไม่สามารถเพิ่มข้อมูลเข้าไปในคิวได้อีก ทั้งที่บางครั้งยังมีที่ว่างเหลืออยู่ก็ตาม
•คิวที่เรียงลำดับตามความสำคัญ (Priority Queue) บางครั้งเราพบว่า
การเข้ารับบริการ ไม่เป็นไปตามกฎของคิว
เนื่องจากได้รับอภิสิทธิ์ (priority) ให้สามารถเข้ารับบริการก่อนได้ เช่น ลูกค้าประจำจะได้รับการบริการก่อน
ถึงแม้จะเข้ามาทีหลังลูกค้าจรคนอื่นที่คอยอยู่ก็ตาม หรือในร้านถ่ายเอกสาร
ถ้าพนักงานกำลังถ่ายเอกสารให้ลูกค้าคนหนึ่งจำนวน 100 หน้า แล้วมีลูกค้าใหม่มาขอถ่ายเพียงแค่
2 หน้า พนักงานก็บริการให้ลูกค้าคนใหม่นั้นทันที
- ลักษณะคิวลำดับตามความสำคัญ
•ใน คิวธรรมดา ข้อมูลที่เข้ามาก่อนจะมีสิทธิ์ออกก่อน
(First
In First Out:FIFO) อย่างไรก็ตาม
มีบางครั้งที่เราต้องยกให้สมาชิกบางประเภทได้ทำงานก่อนทั้งที่มาทีหลัง เช่น
การให้คิวงานที่เล็กกว่าได้ทำก่อน หรือ การให้สิทธิพิเศษแก่การทำงานบางประเภท
•คิวลำดับความสำคัญทำให้เราสามารถประยุกต์ใช้คิวได้ดีขึ้น
เนื่องจากเพิ่มการให้ความสำคัญของสมาชิกที่แตกต่างกัน
ส่งผลให้เราสามารถจัดเรียงคิวได้ใหม่ให้เหมาะสมกับการทำงานได้
เราใช้คิวลำดับความสำคัญในการจัดการทำงานการตรวจนับ
ความคิดเห็น
แสดงความคิดเห็น