คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Bansomdej Chaopraya Rajabhat University
Advertisements

จงเขียนโปรแกรมในการคำนวณหาค่า function ข้างล่างโดยอาศัยหลักการ
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
การทำงานแบบเลือกทำ (Selection)
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
บทที่ 5 โครงสร้างข้อมูลคิว
User Defined Simple Data Type
โครงสร้างควบคุมและคำสั่งแบบเงื่อนไข
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
Data Type part.II.
Functional programming part II
Stack.
Stack Holidays/seasonal content.
Data structure & Algorithms
ลักษณะการทำงานของ Stack
บทที่ 4 การตัดสินใจในการเขียนโปรแกรม
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
บรรยายครั้งที่ 3: Queue
โครงสร้างคำสั่งแบบเลือก (Selection)
คำสั่งเงื่อนไขและการควบคุม
ภาษาโปรแกรมเชิงหน้าที่
โปรแกรมย่อย : Pascal Procedure
Arrays.
คิวQueue Circular Queue.
บทที่ 2 Queue Queue.
PROCEDURE <<โปรแกรมย่อย>>
คำสั่งแบบมีเงื่อนไข IF Statement
การเขียนผังงานแบบโครงสร้าง
ตัวอย่างการใช้คำสั่ง IF_THEN
ธนาวินท์ รักธรรมานนท์
Flowchart รูปแบบ If ซ้อน If ก็คือ การเอา If ไปไว้ใน If ทางฝั่ง True  โดยโครงสร้าง If ซ้อน If นั้นเอาไว้ใช้กับ กรณีตรวจสอบเงื่อนไขที่มากกว่า 2 กรณี เพราะเนื่องจาก.
ตัวแปรกับชนิดของข้อมูล
โครงสร้างข้อมูลแบบคิว
สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack
แถวอักขระ (string) ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
โครงสร้างแบบลำดับ คำสั่ง x คำสั่ง y.
คิว (Queue) Queue ADT Queue เป็น List ชนิดหนึ่ง แต่สำหรับ queue การแทรกข้อมูลลงบน queue (Insertion) จะทำที่ปลายใดปลายหนึ่งของ Queue ในขณะที่การลบข้อมูลออกจากคิว.
คำสั่งควบคุมการทำงานของ ActionScripts
Linked List (ลิงค์ลิสต์)
TURBO PASCAL OUTLINE 1. บทนำเกี่ยวกับการเขียนโปรแกรมภาษาปาสคาล
Lecture 4 เรคอร์ด.
บทที่ 5 Link List Link List.
บทที่ 9 เซต (Set) เซต หมายถึงกลุ่ม ฝูง พวก ชุด ของสิ่งใดสิ่งหนึ่ง เช่น เพศ ประกอบด้วย หญิง และ ชาย รายการที่อยู่ในเซต เรียกว่าสมาชิก เซตย่อย (Subset) คือ.
Linked List List is group of nodes that consists of data and link.
ลิงค์ลิสต์ (Linked List)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
กองซ้อน ยอดกองซ้อน (stack).
โครงสร้างข้อมูลแบบกองซ้อน (Stack)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
โครงสร้างข้อมูลแบบรายการโยง (Link List)
Java collection framework
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
โครงสร้างข้อมูล Queues
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การรับและแสดงผลข้อมูล (Input/Output)
โครงสร้างข้อมูลแบบ สแตก (stack)
1 บทที่ 5 โปรแกรมย่อย Part II Function. 2 ฟังก์ชัน (Function) เป็นชุดคำสั่งย่อยที่มีหน้าที่เฉพาะอย่างใดอย่างหนึ่ง เหมือนกับ procedure สามารถมีการรับส่งค่าข้อมูล.
บทที่ 5 โปรแกรมย่อย.
QueueQueue Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
Queue Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
Queue Lecturer : Kritawan Siriboon, Room no. 913
Queue [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
Queue [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
3 โครงสร้างข้อมูลแบบคิว (QUEUE).
ใบสำเนางานนำเสนอ:

คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue Circle Queue ความแตกต่างระหว่าง Stack กับ Queue

มีการจัดเก็บโดยอาศัยพื้นฐานของแถวลำดับและแบบ List Queue Structure มีการจัดเก็บโดยอาศัยพื้นฐานของแถวลำดับและแบบ List ลักษณะการทำงานของ Queue การนำสมาชิกใหม่ใส่ไปใน Queue จะใส่ที่ปลายด้านหนึ่ง เรียกว่าส่วนท้าย หรือ Rear การนำสมาชิกออกจาก Queue จะทำที่ปลายอีกด้านหนึ่ง เรียกว่าส่วนหน้า หรือ Front

ตัวอย่างลักษณะการทำงานของ Queue 4 5 7 2 1 F R เป็นโครงสร้างแบบเข้าก่อน-ออกก่อน FIFO First In – First Out

การดำเนินการของ Queue (Operation on Queue) การนำสมาชิกใหม่เข้าไปใน Queue (Add หรือ Insert) ใช้คำสั่ง Enq หมายถึงให้นำ Item ซึ่งเป็นสมาชิก ใหม่เข้าไปต่อท้ายสมาชิกทุกตัวที่อยู่ในโครงสร้าง Queue การนำสมาชิกออกจาก Queue (Remove หรือ Delete) ใช้คำสั่ง Deq หมายถึงเอาสมาชิกตัวแรกหรือตัวหน้า สุดใน Queue ออกมา แล้วส่งสามารถผ่าน Item

การตรวจสอบ Queue Queue ว่าง ใช้ฟังก์ชัน Empty Q Queue ว่างค่าเป็น True Queue ไม่ว่างค่าเป็น False Queue ว่างและพยายามที่จะนำข้อมูลออกจะเกิด Underflow Queue เต็ม ใช้ฟังก์ชัน Full Q Queue เต็มค่าเป็น True Queue ไม่เต็มค่าเป็น False Queue เต็มและพยายามจะนำข้อมูลเข้าจะเกิด Overflow

การตรวจสอบ Queue การเคลียร์ Queue Queue ก่อนโดยใช้ Clear Q ตัวอย่าง F = 0 , R=0 Clear Q (Que) Enq (Que,4) 4 F = 1 , R = 1 F R

ตัวอย่าง (ต่อ) F = 1 , R = 2 F = 1 , R = 3 Overflow F = 2 , R = 3 Enq (Que,5) F = 1 , R = 2 4 5 F R 4 5 7 Enq (Que,7) F = 1 , R = 3 F R Enq (Que,8) 4 5 7 Overflow F = 2 , R = 3 Item = 4 Deq (Que,Item) 5 7 F R

ตัวอย่าง (ต่อ) การเพิ่มข้อมูลเข้าต้องเข้าที่ Rear ของ Queue F = 3 , R = 3 Item = 5 7 Deq (Que,Item) F R Deq (Que,Item) F = 0 , R = 0 Item = 7 Deq (Que,Item) Underflow การเพิ่มข้อมูลเข้าต้องเข้าที่ Rear ของ Queue Rear = Rear + 1 การนำข้อมูลออกต้องทำที่ Front ตัวแรกออกไป Front = Front - 1

โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue Const n=20; Type itemtype = char; Queue = Array[1..N] of itemtype; Var Q : Queue; Front, Rear :0..N;

โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue (ต่อ) Procedure Enq (Var Q:Queue;X:itemtype); Begin If Rear = n then writeln (‘Full Queue’) Else Begin Rear := Rear + 1 ; Q[Rear] :=X;

โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue (ต่อ) If Front = 0 then Front := 1; End; Procedure Deq (Var Q :Queue): itemtype; Begin If Front = 0 then writeln (‘Empty Queue’) Else

โปรแกรมการเพิ่ม-ลดข้อมูลใน Queue (ต่อ) Begin Y := Q[Front]; If Front = Rear then Begin Front := 0, Rear :=0 Else Front := Front + 1; End;

Circle Queue เป็นการนำข้อมูลเข้าสู่ Queue โดยนำไปวางไว้ใน ส่วนหน้า (นำส่วนหน้ามาใช้อีกกรณีที่ส่วนหน้าว่าง) เช่น นำข้อมูลส่วนท้ายของ Queue (n) ไปต่อกับส่วนหน้าที่ตำแหน่ง Q(1) ตัวอย่าง 5 Enq (Que,5) F=1 , R = 1 F R

ตัวอย่าง(ต่อ) F=1 , R = 2 F=1 , R = 3 F=2 , R = 3 Item = 5 F=2 , R = 1 Enq (Que,3) F=1 , R = 2 5 3 F R 5 3 2 Enq (Que,2) F=1 , R = 3 F R Deq (Que,Item) F=2 , R = 3 Item = 5 3 2 F R 4 3 2 F=2 , R = 1 Enq (Que,4) R F

ความแตกต่างระหว่าง Stack กับ Queue เข้าก่อนออกก่อน ทำด้านใดด้านหนึ่งทั้งด้านหน้าด้านหลัง F , R การนำสมาชิกเข้า เรียกว่า Enq การนำสมาชิกออก เรียกว่า Deq Stack เข้าหลังออกก่อน ทำที่ส่วนปลาย การนำสมาชิกเข้า เรียกว่า Push การนำสมาชิกออก เรียกว่า Pop