Catalan number (dynamic programming)

--

ลำดับ catalan สามารถหาได้ด้วยสูตร

โอเค ข้อนี้ค่อนข้างตรงไปตรงมา … มาลองทำกันดูเลยดีกว่า

  1. Naive way

ซึ่งวิธี recusive แบบนี้ ก็มักจะเจอปัญหา overlap subproblem ยกตัวอย่างง่ายๆ เช่น ตอนเราคิด catalan(5) เราก็ต้องคิด catalan(2) ไปด้วย … ตอนเราคิด catalan(6) เราก็ต้องมาคิด catalan(2) อีก

เราจะแก้ปัญหานี้ด้วยการ memorize ค่าไว้ แบบนี้

2. dynamic programming

Time complexity = O(n²) … โอเค ข้อนี้ก็จะประมาณนี้ ( มีวิธีอื่นอีก ลองไปดูกันได้ ตามลิงก์ )

--

--

No responses yet