Algorithm for Catalan Number (DP) · boro741/AlgorithmVisualizer@18472db · GitHub
Skip to content

Commit 18472db

Browse files
committed
Algorithm for Catalan Number (DP)
1 parent 622ab09 commit 18472db

4 files changed

Lines changed: 50 additions & 1 deletion

File tree

algorithm/category.json

Lines changed: 2 additions & 1 deletion
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
A[0] = 1;
2+
tracer._notify ( 0, A[0] )._wait();
3+
tracer._denotify ( 0 );
4+
A[1] = 1;
5+
tracer._notify ( 1, A[1] )._wait();
6+
tracer._denotify ( 1 );
7+
8+
for (var i = 2; i <= N; i++) {
9+
for (var j = 0; j < i; j++) {
10+
A[i] += A[j] * A[i-j-1];
11+
tracer._select( j )._wait();
12+
tracer._select( i - j -1 )._wait();
13+
tracer._notify( i, A[i])._wait();
14+
tracer._deselect( j );
15+
tracer._deselect( i - j - 1 );
16+
tracer._denotify( i );
17+
}
18+
}
19+
20+
logger._print ( ' The ' + N + 'th Catalan Number is ' + A[N] );
21+
tracer._select( N )._wait();
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
var N = 10;
2+
var A = new Array ( N+1 );
3+
for (var i = N; i >= 0; i--) {
4+
A[i] = 0;
5+
}
6+
7+
var tracer = new Array1DTracer( ' Catalan Numbers ')._setData( A );
8+
var logger = new LogTracer();
Lines changed: 19 additions & 0 deletions

0 commit comments

Comments
 (0)