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

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

การแบ่งแยกและเอาชนะ Divide & Conquer

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


งานนำเสนอเรื่อง: "การแบ่งแยกและเอาชนะ Divide & Conquer"— ใบสำเนางานนำเสนอ:

1 การแบ่งแยกและเอาชนะ Divide & Conquer
ตอนที่ 2

2 บทนำ กลวิธีนี้มีใช้เพื่อจัดการกับปัญหาในหลากหลายศาสตร์กับการออกแบบ อัลกอริทึม เพื่อแก้ไขปัญหาเชิงคำนวณ แนวคิดการแก้ปัญหาแบบนี้มี หลักการว่า แบ่งปัญหาใหญ่นั้นออกเป็นปัญหาย่อยๆ หลาย ๆ ปัญหาที่มี ขนาดเล็กกว่า หาคำตอบของแต่ละปัญหาย่อย แล้วนำคำตอบย่อยๆ ที่ได้นี้มา รวมกันเพื่อกลายเป็นคำตอบของปัญหาใหญ่ อาจจะซับซ้อนน้อยกว่า และ ใช้เวลาโดยรวมที่ดีกว่าก็ได้ อัลกอริทึมแบบแบ่งแยกและเอาชนะมักมีประสิทธิภาพที่ดีกว่าอัลกอริทึมที่ ทำงานอย่างตรงไปตรงมา ค่อยเป็นค่อยไป นอกจากนี้ยังเขียนบรรยายตัว อัลกอริทึมในรูปของการทำซ้ำแบบเรียกซ้ำได้อย่างเหมาะมาก ทำให้เขียน บรรยายอัลกอริทึมได้อย่างไม่ซับซ้อน และวิเคราะห์ประสิทธิภาพการทำงาน ได้ง่าย

3 หัวข้อ โครงของอัลกอริทึมแบบ Divide & Conquer ตัวอย่าง Quick select
Min + Max

4 โครงของอัลกอริทึมแบบ Divide & Conquer

5 Divide – Conquer - Combine
DQ ( P) { if ( P is trivial ) return Solve ( P ) Divide P into P1, P2, … , Pk for ( i =1to k ) Si = DQ ( Pi ) S = Combine ( S1, S2, …, Sk) return S }

6 Quick select

7 Selection : หาตัวน้อยสุดอันดับ k

8 Sort ได้ d[k] คือคำตอบ

9 ใช้ min-heap

10 ใช้ max-heap

11 QuickSelect

12 QuickSelect

13 QuickSelect : วิเคราะห์

14 QuickSelect : กรณีเร็วสุด

15 QuickSelect : กรณีช้าสุด

16 QuickSelect : กรณีเฉลี่ย

17 QuickSelect : กรณีช้าสุด O(n)

18 Median – of – Median – of - Five

19 Median – of – Median – of - Five

20 เวลาในการหา mm5

21 QuickSelect

22 Min + Max

23 min + max

24 min + max : แบ่งครึ่ง

25 min + max : แบ่งครึ่งๆ

26 min + max : แบ่งครึ่งๆ

27 min + max : แบ่ง(n-2) + 2

28 min + max : แบ่ง(n-2) + 2

29 วิเคราะห์ : แบ่ง(n-2) + 2

30

31 แบ่งครึ่งเหลือเศษมากกว่า


ดาวน์โหลด ppt การแบ่งแยกและเอาชนะ Divide & Conquer

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


Ads by Google