- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Nth Catalan Number in Go Lang
Catalan Numbers are sequences of natural numbers that gives the number of BST (Binary Search Tree) possible with n Values. So, the Catalan number is a full binary tree with n+1 leaves.
Some applications of Catalan Numbers are counting the pairs of nested parentheses, valid mountain ranges etc.
For n = 5, C = (C(0) * C(4)) + (C(1) * C(3)) + (C(2) * C(2)) + (C(3) * C(1)) + (C(4)* C(0))
Thus, we can see that Catalan numbers are in the form of a recursive relation, i.e., for the nth term, the Catalan number Cn is,
The sum of Catalan(i) * Catalan(n-i-1)
Where i ranges from 0 to (n -1).
For example, print the Catalan number for N = 5,
1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, ........
5th term in the above series is 14 thus we will print the output as ‘14’ for 5th Catalan number.
Implementation of Catalan Number
The code given below is the implementation of the nth Catalan number −
Example
package main import "fmt" func main() { var n =5 fmt.Scanf("%d", &n) Catalan := make([]int, n + 1) Catalan[0] = 1 Catalan[1] = 1 for i := 2; i <= n; i++ { for j := 0; j < i; j++ { Catalan[i] += (Catalan[j] * Catalan[i - j - 1]) } } fmt.Printf("The Catalan Number (Cn) is: %d", Catalan[n - 1]) }
Output
Running the above code will generate the Catalan number for n = 5,
14