โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ระบบสมการเชิงเส้น F M B N เสถียร วิเชียรสาร.
Advertisements

Bansomdej Chaopraya Rajabhat University
จงเขียนโปรแกรมในการคำนวณหาค่า function ข้างล่างโดยอาศัยหลักการ
อสมการ 1.1 อสมการเชิงเส้นตัวแปรเดียว
แนวคิดในการเขียนโปรแกรม
Chapter 1 Functions and Their Graphs 1. 6 – 1
Course Orientation Data Structure and Algorithms ( )
Lists Data Structure LAUKHWAN NGAMPRASIT LAUKHWAN NGAMPRASIT.
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
บทที่ 6 โครงสร้างข้อมูลลิ้งค์ลิสต์
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
บทที่ 6 โครงสร้างข้อมูลลิ้งค์ลิสต์
บทที่ 5 โครงสร้างข้อมูลคิว
ความสัมพันธ์ของการบวกและการลบ
Chapter 1 โครงสร้างข้อมูลและอัลกอริธึมส์
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
การผลิตโค๊ดสำหรับ Procedure Call
Data Type part.III.
Stack.
Stack Holidays/seasonal content.
CS Assembly Language Programming
Data structure & Algorithms
ลักษณะการทำงานของ Stack
แบบทดสอบ 1. สแตก (stack) หมายถึงอะไร
การประยุกต์สมการเชิงเส้นตัวแปรเดียว
บรรยายครั้งที่ 2: Stack
โปรแกรมย่อย : Pascal Procedure
Arrays.
คิวQueue Circular Queue.
Surachai Wachirahatthapong
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
อาร์เรย์ ชื่อ น. ส. พิชชากานต์ ไชยชาญยุทธ์ เลขที่ 22 ชั้นสทส.1/1.
Infix to Postfix มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
โครงสร้างการจัดเก็บข้อมูลเชิงกายภาพ
โครงสร้างข้อมูลแบบคิว
Data Structure and Algorithm
คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue
สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack
โรงเรียนวชิรธรรมสาธิต
ใบงานที่ 7 การรับและแสดงผลข้อมูล
โครงสร้างข้อมูลคืออะไร ?
โครงสร้างข้อมูลทรีและไบนารีทรี (Tree and Binary Tree)
ความหมาย การประกาศ และการใช้
ลิงค์ลิสต์ (Linked List)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ค21201 คณิตศาสตร์เพิ่มเติม 1
กองซ้อน ยอดกองซ้อน (stack).
โครงสร้างข้อมูลแบบกองซ้อน (Stack)
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
หลักการและวิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
รายการโยง (linked lists) หอยทอด 30 ข้าวผัด 30 ไก่ย่าง 50 เนื้อทอด 30
โครงสร้างข้อมูล Queues
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Chapter 11 Instruction Sets: Addressing Modes
โครงสร้างข้อมูลและอังกอลิทึม
หลักการเขียนโปรแกรมเบื้องต้น
Data Structure and Algorithms
ตัวแปร และชนิดข้อมูล.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างข้อมูลแบบ สแตก (stack)
กำหนดการพลวัต (Dynamic programming)
การประยุกต์ใช้ Stack การประยุกต์ใช้ Stack
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Stack Sanchai Yeewiyom
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
2 โครงสร้างข้อมูลแบบสแตก (STACK).
ใบสำเนางานนำเสนอ:

โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top of Stack) เรียกว่าตัวชี้สแตก(Stack Pointer) มีรูปแบบเป็น Top(S)

ให้ Y เป็นสแตกเก็บค่าตัวเลขได้ไม่เกิน 6 ตัว Push(‘2’),Push(‘5’),Push(‘3’) Pop(),Push(‘9’), Push(‘0’) Push(‘4’) Push(‘6’),Pop()

เริ่มต้นจากการสร้างสแตก Yขึ้นมาทำงานจำได้สแตกว่าง ไม่มีสมาชิกโดยตัวชี้สแตก Top ยังไม่มีค่า

2 นำค่า 2 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘2’) สแตก Y=[2] ตัวชี้สแตก Top = 2 Top

2 5 นำค่า 5 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘5’) สแตก Y=[5] ตัวชี้สแตก Top = 5 Top

2 5 3 นำค่า 3 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘3’) สแตก Y=[3] ตัวชี้สแตก Top = 3 Top

ต้องการดึงค่าออกมาโดยใช้Pop() 5 2 ต้องการดึงค่าออกมาโดยใช้Pop() สแตก Y=[2,5,3]ตัวชี้สแตก Top = 3 Top

นำค่า 9 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘9’) สแตก Y=[9] ตัวชี้สแตก 2 5 9 นำค่า 9 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘9’) สแตก Y=[9] ตัวชี้สแตก Top = 9 Top

นำค่า 0 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘0’) สแตก Y=[0] ตัวชี้สแตก Top = 0 2 5 9 Top

นำค่า 4 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘4’) สแตก Y=[4] ตัวชี้สแตก Top = 4 2 5 9 4 Top

นำค่า 6 เข้ามาเก็บเป็นตัวแรกโดยใช้ Push(‘6’) สแตก Y=[6] ตัวชี้สแตก Top = 6 2 5 9 4 6 Top

ต้องการดึงค่าออกมาโดยใช้Pop() 2 5 9 4 ต้องการดึงค่าออกมาโดยใช้Pop() สแตก Y=[2,5,9,0,4,6] ตัวชี้สแตก Top = 6 Top

อัลกอริทึมการแปลงนิพจน์แบบ Infix เป็นแบบ Postfix โจทย์ 10+5-(8/2)*3

10+5-(8/2)*3 ผลลัพธ์ Stack

10+5-(8/2)*3 ผลลัพธ์ 10 Stack

10+5-(8/2)*3 ผลลัพธ์ 10 + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 / ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / ( - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / * - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 5 8 2 / 3 * - + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 10 5 8 2 / 3 * + Stack

10+5-(8/2)*3 ผลลัพธ์ 10 10 5 8 2 / 3 * + - Stack

อัลกอริทึมการหาค่าคำตอบจากนิพจน์ Postfix 5 8 2 / 3 * + 10 -

10 5 8 2 / 3 * +- ผลลัพธ์ Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 8 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 2 8 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 8 / 2 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 4 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 3 4 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 4 * 3 5 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 5 + 12 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 17 10 Stack

10 5 8 2 / 3 * +- ผลลัพธ์ 12 5 10 Stack