trekhleb/javascript-algorithms
View on GitHub📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- Stars
- 197k
- Forks
- 31k
- Open beginner issues
- 0
- Indexed issues
- 134
- Dominant language
- JavaScript
- License
- MIT
- Last GitHub push
- Jul 26, 2026
- Latest indexed
- Sep 20, 2026
- Contributing guide
- Contributing guide
- Code of conduct
- Code of conduct
- Beginner labels
- No beginner labels indexed
- PR merge metrics
- No merged PRs in 30d
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#830 · 2 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
trekhleb/javascript-algorithms#827 · 4 comments · 2 reactions ·
-
Difficulty 3/5 1-2 days Newbie friendliness 10/100
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#757 · 2 reactions ·
-
Pancake sort Open
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
trekhleb/javascript-algorithms#748 · 3 comments · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
trekhleb/javascript-algorithms#728 · 6 reactions ·
-
Difficulty 3/5 1-2 days Newbie friendliness 30/100
trekhleb/javascript-algorithms#727 · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
trekhleb/javascript-algorithms#692 · 1 comment · 4 reactions ·
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#675 · 3 comments · 5 reactions ·
-
Difficulty 1/5 Under an hour Newbie friendliness 45/100
trekhleb/javascript-algorithms#671 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 3/5 1-2 days Newbie friendliness 38/100
trekhleb/javascript-algorithms#656 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
trekhleb/javascript-algorithms#655 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 45/100
trekhleb/javascript-algorithms#640 · 4 comments · 1 reaction ·
-
Difficulty 1/5 Under an hour Newbie friendliness 25/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
trekhleb/javascript-algorithms#616 · 6 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
trekhleb/javascript-algorithms#590 · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#583 · 1 comment ·
-
Linear Search Fix Open
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
trekhleb/javascript-algorithms#568 · 10 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
trekhleb/javascript-algorithms#567 · 2 comments ·
-
Add MiniMax Open
Difficulty 5/5 Over a week Newbie friendliness 15/100
trekhleb/javascript-algorithms#566 · 6 comments ·
-
Fix Typo in BFS Test Open
Difficulty 1/5 Under an hour Newbie friendliness 45/100
-
Difficulty 3/5 1-2 days Newbie friendliness 24/100
trekhleb/javascript-algorithms#560 · 3 comments · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
trekhleb/javascript-algorithms#555 · 1 comment ·
-
Add A star algorithm Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
trekhleb/javascript-algorithms#546 · 1 comment · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#544 · 1 comment ·
-
Two way binding Open
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
trekhleb/javascript-algorithms#543 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#529 · 7 comments · 3 reactions ·
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
trekhleb/javascript-algorithms#527 · 2 comments ·
-
Setting key-value pairing in a HashTable where that key is already present w/ a different value. Open
Difficulty 3/5 1-2 days Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
trekhleb/javascript-algorithms#498 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
trekhleb/javascript-algorithms#491 · 2 reactions ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
trekhleb/javascript-algorithms#488 · 2 comments · 3 reactions ·
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
trekhleb/javascript-algorithms#485 · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
-
Arabic Tranlsation Open
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 3/5 1-2 days Newbie friendliness 20/100
trekhleb/javascript-algorithms#460 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 55/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 38/100
trekhleb/javascript-algorithms#434 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
trekhleb/javascript-algorithms#427 · 3 reactions ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
trekhleb/javascript-algorithms#406 · 4 comments · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
-
Lack Boyer-Moore Open
Difficulty 3/5 1-2 days Newbie friendliness 42/100
trekhleb/javascript-algorithms#391 · 5 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Redundant condition Open
Difficulty 1/5 Under an hour Newbie friendliness 35/100
trekhleb/javascript-algorithms#378 · 2 comments ·
-
Logo Design Open
Difficulty 5/5 Over a week Newbie friendliness 15/100
trekhleb/javascript-algorithms#374 · 5 reactions ·