งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 ลักษณะการทำงานของ Stack กองซ้อน Push Operation Pop Operation.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 ลักษณะการทำงานของ Stack กองซ้อน Push Operation Pop Operation."— ใบสำเนางานนำเสนอ:

1 1 ลักษณะการทำงานของ Stack กองซ้อน Push Operation Pop Operation

2 2 Stack ? โครงสร้างข้อมูลเชิงเส้น (Linear) แบบกอง ซ้อน ที่โครงสร้างหนึ่ง สามารถเก็บข้อมูลได้ หลายค่า การเพิ่มหรือการลบข้อมูล จะเกิดขึ้นที่ ปลายทางด้านใด ด้านหนึ่งของข้อมูลเท่านั้น Push Pop Push Pop แสดงภาพแนวตั้ง แสดงภาพแนวนอน

3 3 Stack ? ข้อมูลที่ถูกจัดวางก่อนจะถูกเรียกใช้ทีหลัง ตาม ความสัมพันธ์แบบ Last In First Out:: LIFO มีการกระทำ (Operations) ที่จัดการข้อมูลอยู่ 2 ตัว คือการนำข้อมูลเข้า (Push ) และออก (Pop) Stack มีขนาดจำกัด และไม่จำกัดขึ้นอยู่กับ วิธีการสร้าง

4 4 การวางและหยิบจาน จากจาน ที่ตั้งเป็นชั้น การเก็บรถเข็นในห้าง ตัวอย่า ง LIFO ( Last In First Out) ข้อมูลที่ถูกนำเข้าไปใส่ใน Stack ก่อน จะถูกนำ ออกจาก Stack ที่หลัง

5 5 Push( ตัวแปร Stack, ข้อมูล ) การแทรก หรือ เพิ่มสมาชิก เข้าไปใน Stack Pop( ตัวแปร Stack, ข้อมูล ) การลบ หรือนำสมาชิก ออกจาก Stack การกระทำ Push หรือ Pop แต่ละครั้งจะ กระทำกับข้อมูลหรือสมาชิกได้เพียง 1 ตัว เท่านั้น Stack’s Operations

6 6 Top of Stack Bottom of Stack LIFO ( Last In First Out)

7 7 รูปจำลอง การทำงานของสแตก ขนาดมากที่สุด ของสมาชิก ( size ) คือ 8 ตัว Max Size = 8 Top =0 Stack Empty Top =1 A Push(Stack, “A”)Push(Stack, “B”) Top =2 B A

8 8 การโปรแกรมแบบรี เคอร์ซีฟ การโปรแกรมแบบรี เคอร์ซีฟ (Recursive Programming)

9 9 2. การประมวลผลโปรแกรมแบบ Recursive โปรแกรมเรียกใช้ตัวเอง คล้ายกับการเรียกใช้ ฟังก์ชัน เพียงแต่เรียก ฟังก์ชันที่มีชื่อตนเอง เท่านั้น ทุกๆ ครั้งที่มีการเรียกใช้ ตัวเอง จะเก็บข้อมูลไว้ใน Stack ก่อนเสมอ #include int Factorial( int n ){ int fact; if (n == 0) fact = 1; else fact = n * Factorial (n-1); return fact; } void main(){ int n; cout << "Enter Number : "; cin >> n; cout << "Factorial "

10 10 Factorial(4) Factorial(3) Factorial(2) Factorial(1) Factorial(0) ตัวอย่างการ Recursive

11 11 Factorial(4) Factorial(0) Factorial(1) Factorial(2) Factorial(3) ตัวอย่างการ Recursive

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21 Y := Factorial(3); Factorial := 3 * factorial(3-1) 3

22 22 Y := Factorial(2); Factorial := 2 * factorial(2-1) 3 2

23 23 Y := Factorial(1); Factorial := 1 * factorial(1-1) 3 2 1

24 24 Y := Factorial(0); Factorial :=

25 25 Return 1 Factorial := 1*1 3 2 Factorial(1) := 1 * factorial(0)

26 26 Return 2 Factorial := 1*2 3 Factorial(2) := 2 * factorial(1)

27 27 Return 3 Factorial := 2*3 Factorial(3) := 3 * factorial(2)

28 28 Y :=6

29 29 1. จงเขียนโปรแกรม Recursive ในการหาเทอม ของอนุกรม Fibonacci Sequence จำนวน N เทอม โดยป้อนจำนวนเต็ม N เข้าไป แล้ว แสดงผลอนุกรมดังกล่าว Lab3-1.cpp T(1) = 0 T(2) = 1 T(N) = T(n-2) + T(n-1) Enter Term of Fibonacci : ตัวอย่าง Output

30 30 2. จงเขียนโปรแกรม Recursive ในการหาค่า ของ X n เทอม โดยป้อนค่าของ X และจำนวน เต็ม N เข้าไป แล้วแสดงผลค่าผลลัพธ์ ดังกล่าว Lab3-2.cpp X 0 = 1 X n = X * X n-1 Enter Number : 2 Enter Power : 5 Power 2 of 5 = 32 ตัวอย่าง Output


ดาวน์โหลด ppt 1 ลักษณะการทำงานของ Stack กองซ้อน Push Operation Pop Operation.

งานนำเสนอที่คล้ายกัน


Ads by Google