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

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

Data structure & Algorithms

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


งานนำเสนอเรื่อง: "Data structure & Algorithms"— ใบสำเนางานนำเสนอ:

1 Data structure & Algorithms
Stack Data structure & Algorithms

2 Stack เป็นโครงสร้างข้อมูลแบบ LIFO (Last-In, First-Out)
Stack Stack เป็นโครงสร้างข้อมูลแบบ LIFO (Last-In, First-Out) Operations พื้นฐานของ Stack ได้แก่ - การนำข้อมูลเข้าสู่ Stack เรียกว่า Push - การนำข้อมูลออกจาก Stack เรียกว่า Pop - การเรียกใช้ข้อมูลจาก Stack เรียกว่า Top การสร้าง Stack - ใช้ Array แทน Stack - ใช้ Linked list แทน Stack Company Logo

3 Stack Company Logo

4 เพิ่มข้อมูลใน Stack: Push
เพิ่มข้อมูลใน Stack: Push Company Logo

5 นำข้อมูลออกจาก Stack : Pop
นำข้อมูลออกจาก Stack : Pop Company Logo

6 เรียกใช้ข้อมูลใน Stack: Top
เรียกใช้ข้อมูลใน Stack: Top Company Logo

7 Company Logo

8 Company Logo

9 Linked list แทน Stack Company Logo

10 Linked list แทน Stack Company Logo

11 Company Logo

12 Company Logo

13 Operations พื้นฐานของ Stack ที่สร้างด้วย Linked list
Operations พื้นฐานของ Stack ที่สร้างด้วย Linked list 1. Create stack: สร้าง stack head node 2. Push stack: เพิ่มรายการใน stack 3. Pop stack: ลบรายการใน stack 4. Stack top: เรียกใช้รายการข้อมูลที่อยู่บนสุดของ stack 5. Empty stack: ตรวจสอบว่า stack ว่างเปล่าหรือไม่ 6. Full stack: ตรวจสอบว่า stack เต็มหรือไม่ 7. Stack count: ส่งค่าจำนวนรายการใน stack 8. Destroy stack: คืนหน่วยความจำของทุก node ใน stack ให้ระบบ Company Logo

14 Stack Applications: Balancing Symbols
Company Logo

15 The conversion time is O(n)
Stack Applications: Infix to Postfix conversion The conversion time is O(n) Company Logo

16 Postfix expression evaluation
The evaluation time is O(n) Company Logo

17 Backtracking Backtracking คือวิธีการหาคำตอบโดยเดินหน้าไปยังเป้าหมาย เมื่อถึงทางแยกก็จะต้องตัดสินใจเลือกเส้นทางใดเส้นทางหนึ่งเดินหน้าต่อไปเพื่อหาเป้าหมาย หากเดินไปจนสุดเส้นทางแล้วยังไม่พบเป้า ก็จะเดินย้อนกลับมายังจุดแยกครั้งสุดท้ายแล้วเลือกเส้นทางใหม่ที่ยังไม่เคยไป ทำเช่นนี้ไปเรื่อยๆจนกว่าจะพบเป้าหมาย หรือจนครบทุกเส้นทาง Backtracking เป็นการประยุกต์ใช้โครงสร้างข้อมูลแบบ Stack สำหรับการเขียนโปรแกรมประเภทเกมส์คอมพิวเตอร์ (computer gaming) การวิเคราะห์การตัดสินใจ(decision analysis) และระบบผู้เชี่ยวชาญ(expert system) ตัวอย่างปัญหาที่ใช้วิธี Backtracking เช่นปัญหาการค้นหาเป้าหมาย (goal seeking) และ ปัญหา 8 ราชินี (eight queens problem) Company Logo

18 Stack Applications: Backtracking
Company Logo

19 Stack Applications: Backtracking
Company Logo

20 Stack Applications: Backtracking
Company Logo

21 Stack Applications: Backtracking
Company Logo

22 Data structure & Algorithms
Queue Data structure & Algorithms

23 Queue Queue เป็นโครงสร้างข้อมูลแบบ FIFO (First-In, First-Out)
Queue Queue เป็นโครงสร้างข้อมูลแบบ FIFO (First-In, First-Out) Operations พื้นฐานของ Queue ได้แก่ - การนำข้อมูลเข้าสู่ Queue เรียกว่า Enqueue - การนำข้อมูลออกจาก Queue เรียกว่า Dequeue - การเรียกใช้ข้อมูลจากหัวแถวของ Queue เรียกว่า Front - การเรียกใช้ข้อมูลจากท้ายแถวของ Queue เรียกว่า Rear การสร้าง Queue - ใช้ Array แทน queue - ใช้ Linked list แทน queue Company Logo

24 The Queue concept Company Logo

25 Operation Enqueue Company Logo

26 Operation Dequeue Company Logo

27 Operation QueueFront Company Logo

28 Figure 5-5 Operation QueueRear Company Logo

29 Figure 5-6 Queue Operations Company Logo

30 Queue Operations Company Logo

31 โครงสร้างของ Queue แบบ Array
โครงสร้างของ Queue แบบ Array Company Logo

32 Is queue full? Company Logo

33 Circular Queue Company Logo

34 โครงสร้างของ Queue แบบ Linked list
โครงสร้างของ Queue แบบ Linked list Company Logo

35 Queue data structure Company Logo

36 Algorithm พื้นฐานของ Queue
Algorithm พื้นฐานของ Queue 1. Create queue: สร้าง queue head จาก dynamic memory 2. Enqueue: เพิ่มรายการเข้าไปใน queue 3. Dequeue: ลบรายการออกจาก queue 4. Queue front: เรียกใช้ข้อมูลที่ด้านหน้าของ queue 5. Queue rear: เรียกใช้ข้อมูลที่ด้านหน้าของ queue 6. Empty queue: ตรวจสอบว่า queue ว่างหรือไม่ 7. Full queue: ตรวจสอบว่า queue เต็มหรือไม่ (มีหน่วยความจำ จัดให้ได้หรือไม่) 8. Queue count: บอกจำนวนรายการใน queue 9. Destroy queue: ลบข้อมูลทั้งหมดใน queue และคืนหน่วยความจำ ให้ระบบแล้วลบและคืนหน่วยความจำของ head node Company Logo

37 Create and enqueue Company Logo

38 Company Logo

39 เพิ่มข้อมูลเข้า Queue
เพิ่มข้อมูลเข้า Queue Company Logo

40 ลบข้อมูลออกจากเข้า Queue
ลบข้อมูลออกจากเข้า Queue Company Logo

41 อักขระย่อย1.อักขระย่อย2
Queue Application การเขียนฟังก์ชันชื่อ matching เพื่ออ่านอักขระจากแป้นพิมพ์ แล้วทำการตรวจสอบดูว่า อักขระที่อ่านมานั้น อักขระทุกตัวก่อนหน้าจุดและอักขระทุกตัวที่อยู่หลังจุด เหมือนกันหรือไม่ ถ้าเหมือนกันฟังก์ชันจะส่งคืนค่า 1 มิฉะนั้นจะคืนค่า 0 โดยลักษณะของอักขระที่อ่านจากแป้นพิมพ์ มีดังนี้ อักขระย่อย1.อักขระย่อย2 โดยที่อักขระย่อยก่อนหน้าจุดและอักขระย่อยหลังจุดมีขนาดความยาวเท่ากัน Company Logo

42 while((c1=getchar()) != '.') enq(queue, c1); match = 1;
int matching() { char c1, c2; QueueType queue; int match; clearQ(queue); while((c1=getchar()) != '.') enq(queue, c1); match = 1; while(!emptyQ(queue)&& match) { c1 = deq(queue); c2 = getchar(); if (c2 != c1) match = 0; } return (match); Company Logo


ดาวน์โหลด ppt Data structure & Algorithms

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


Ads by Google