Skip to content

Commit bf516fd

Browse files
committed
Merge pull request algorithm-visualizer#109 from RudraNilBasu/gh-pages
Seive of Erathrones
2 parents 2d9042a + a286f11 commit bf516fd

File tree

4 files changed

+45
-0
lines changed

4 files changed

+45
-0
lines changed

algorithm/category.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
"page_rank": "PageRank Algorithm"
1313
}
1414
},
15+
"number_theory": {
16+
"name": "Number Theory",
17+
"list": {
18+
"seive_of_erathrones": "Seive of Erathrones"
19+
}
20+
},
1521
"cryptography": {
1622
"name": "Cryptography",
1723
"list": {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
logger._print("1 is not prime");
2+
tracer._select(0)._wait();
3+
for(var i=2;i<=length;i++) {
4+
if(b[i]===0) {
5+
logger._print(i+" is not marked, so it is prime");
6+
// a[i-1] is prime mark by red indicators
7+
tracer._notify(i-1)._wait();
8+
for(var j=i+i;j<=length;j+=i) {
9+
b[j]=1; // a[j-1] is not prime, mark by blue indicators
10+
logger._print(j+" is a multiple of "+i+" so it is marked as composite" );
11+
tracer._select(j-1)._wait();
12+
}
13+
tracer._denotify(i-1);
14+
}
15+
}
16+
logger._print("The unmarked numbers are the prime numbers from 1 to "+length);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var tracer = new Array1DTracer('Seive');
2+
length = 30;
3+
var a = [];
4+
var b = [];
5+
for (var i=1;i<=length;i++) {
6+
a.push(i);
7+
b.push(0);
8+
}
9+
tracer._setData(a);
10+
var logger = new LogTracer();
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"Seive of Erathrones": "Finding all prime numbers upto a given range.",
3+
"Complexity": {
4+
"time": "O(n(log n)(log log n))",
5+
"space": "O(n<sup>1/2</sup>)"
6+
},
7+
"References": [
8+
"<a href='https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes'>Wikipedia</a>"
9+
],
10+
"files": {
11+
"basic": "Seive of Erathrones"
12+
}
13+
}

0 commit comments

Comments
 (0)