Design and Analysis of Algorithms
ผศ. ดร. สมชาย ประสิทธิ์จูตระกูล ภาควิชาวิศวกรรมคอมพิวเตอร
จุฬาลงกรณมหาวิทยาลัย 2542
คําเตือน
เนื้อหาอันรวมถึงขอความ ตัวเลข สัญลักษณ รูปภาพ และ คําบรรยาย อาจมีขอผิดพลาดแฝงอยู ผูจัดทําจะไมรับผิด ชอบตอความเสียหายทั้งทางดานผลการเรียน สุขภาพกาย และสุขภาพจิตใดๆ อันเนื่องมาจากการใชสื่อการเรียนนี้
Algorithm Design Techniques
Incremental Technique
Outline
• Incremental technique
• Examples – Maximum – Sorting – Convex Hull
• Conclusion
Incremental
• Consider the input incrementally
Incremental( input[1..n] ) {
S[0] = null for i = 1 to n
S[i] = Solve( S[i-1], input[i] ) return S[n]
}
Maximum
12 25 11 14 30 29 21
Maximum
12 25 11 14 30 29 21
Max : 12
Maximum
12 25 11 14 30 29 21
Max : 25
Maximum
12 25 11 14 30 29 21
Max : 25
Maximum
12 25 11 14 30 29 21
Max : 25
Maximum
12 25 11 14 30 29 21
Max : 30
Maximum
12 25 11 14 30 29 21
Max : 30
Maximum
12 25 11 14 30 29 21
Max : 30
Θ( n )
Insertion Sort
Insertion Sort Insertion Sort
Insertion Sort Insertion Sort
Insertion Sort Insertion Sort
Insertion Sort Insertion Sort
Insertion Sort Insertion Sort
Θ( n2 )
Convex Hull
1
6
2
8 7 5
4 3
Convex Hull
1
6 3
2
8 7 5
4
Convex Hull
1
6 3
2
8 7 5
4
Convex Hull
1
6 3
2
8 7 5
4
Convex Hull
1
6 3
2
8 7 5
4
Convex Hull
1
6 3
2
8 7 5
4
Θ( n2 )
Conclusion
• Incremental construction of solution
• Easy and straight-forward implementation
• Usually there are better ways to solve the same problem