วันพุธที่ 22 กรกฎาคม พ.ศ. 2552

สรุปการเรียน DTS04-22-07-2552

Stack

เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack หลังข้อมูลที่เข้าไปใน stack ทีหลัง นั่นคือ การ "เข้าทีหลังแต่ออกก่อน" (Last In First Out : LIFO

การกระทำ(Operation) ที่เกี่ยวข้องกับโครงสร้างข้อมูลแบบ Stack
ปฏิบัติการพื้นฐานของสแตกได้แก่ push คือการนำข้อมูลเก็บในสแตก และ pop คือการนำข้อมูลออกจากสแตก ซึ่งทั้งสองกระบวนการ จะกระทำที่ส่วนบนสุดของสแตกเสมอ โดยปกติแล้วมักกำหนดให้มีตัวชี้ส่วนบนสุดของสแตก เรียกว่า top ส่วนปฏิบัติการอื่น ๆ เป็นปฏิบัติการที่เกี่ยวเนื่องกับการ push และ pop มีดังนี้
การสร้างสแตก (CREATE)
การทดสอบว่า stack ว่างหรือไม่(EMPTY)
การทดสอบว่า stack เต็มหรือไม่(FULL)
การทำให้ stack เป็น stack ว่าง(CLEAR)
การนำข้อมูลเข้าสู่สแตก (Push) กระทำที่ส่วนบนของสแตก (Top) ซึ่งต้องมีการตรวจสอบก่อนว่าสแตกเต็มหรือไม่
และการนำข้อมูลออกจากสแตก (Pop) กระทำที่ส่วนบนของสแตกเช่นกัน โดยตรวจสอบว่ามีสมาชิกอยู่ในสแตกหรือไม่ (ตรวจสอบว่าสแตกว่างเปล่าหรือไม่)


การนำข้อมูลเข้าไปในกองซ้อน (Push)

เป็นการดำเนินการที่นำข้อมูลเข้าไปเก็บไว้ด้านบนสุดของกองซ้อน (Top of the Stack) เรื่อย ๆ จนกว่ากองซ้อนไม่สามารถนำข้อมูลเข้าไปเก็บได้
จะเรียกว่า กองซ้อนเต็ม (Stack Full)

การนำข้อมูลออกจากกองซ้อน (Pop)
การทำงานจะตรงข้ามกับ Push
จะดึงเอาข้อมูลที่อยู่บนสุดออกมาก่อน แต่ก่อนที่จะดึงจะมีการตรวจสอบว่ากองซ้อนว่างหรือไม่
ถ้าว่างจะไม่สามารถนำข้อมูลออกได้ แสดงว่ากองซ้อนว่าง (Stack Empty)
ถ้าไม่ว่างจะนำเอาข้อมูลออกแล้วเลื่อนตัวชี้ไปยังตำแหน่งถัดลงไป


ตัวอย่างของ stack
1. การหยิบกินของขนมเตสโต้ที่อยู่ในกล่องทรงกระบอก ซึ่งมันจะมีการบรรจุแผ่นมันฝรั่งให้เต็มกระบอก เวลาหยิบกินก็ต้องหยิบกินแผ่นข้างบนก่อน ซึ่งแผ่นข้างบนก็หมายถึงแผ่นที่บรรจุทีหลังนั้นเอง
2. การยกข้าวสารในกระสอบซึ่งมันจะมีการวางเรียงกันเป็นชั้น ๆ เวลาที่เราจะยกข้าวที่ละกระสอบเราก็ต้องยกกระสอบที่อยู่ข้างบนสุดก่อน ซึ่งกระสอบที่อยู่บนสุดเป็นกระสอบที่มาหลังสุด
3. การหยิบแผ่นซีดีที่อยู่ในกล้องบรรจุหลายสิบแผ่น เวลาหยิบก็ต้องหยิบแผ่นที่อยู่บนสุดก่อน
4. การใช้สก็อตเทฟ เวลาเราจะใช้เราก็ต้องใช้แผ่นที่อยู่บนสุดก่อน
5. การจอดรถที่มีการจดหลาย ๆ ชั้นซ้อนกัน เวลารถที่มาก่อนจะถอยออก ก็ต้องให้รถที่มันที่หลังที่ขวางรถเราอยู่ให้ถอยออกไปก่อนเราถึงจะถอยรถของเราได้

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

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