Awesome Open Source
Awesome Open Source



A collection of classical data structures and algorithms implemented in Typescript. Click the 📹 emoji for tutorials.

The repository's primary goal is educational. Hence, all implementations include a prolific number of comments which guide the reader. The name of the project, iruka, is an ode to Iruka sensei from Naruto. He became a teacher to pass on the Will of Fire, and teach the future ninja of the leaf village. Likewise, this project is here to teach the future software engineers of earth.

You can use this package in your projects if you so wish. Test coverage will be kept at 100%. To install the package, use npm or yarn:

yarn add dsa-ts

Data Structures




When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Commiting Process

The commit process does not directly use git. dsa-ts uses commitizen to ensure we are comitting semantic commits. To commit, use the command yarn commit, and follow the citizen cli which prompts you for various metainfo regarding the commit. After the pre-commit tests are run successfully, you are able to push to your development branch with git push.


This repository is released under the MIT license. In short, this means you are free to use this software in any personal, open-source or commercial projects.

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Typescript (245,991
Algorithms (37,445
Search (31,592
Tree (20,456
Stack (16,095
Hash (11,343
Data Structures (9,591
Sort (7,178
Heap (3,062
Hashtable (1,193
Algorithms And Data Structures (698
Linked List (654
Btree (376
Binary Search Tree (276
Avl Tree (223
Red Black Tree (125
Binary Heap (42
Bellman Ford (24
Fibonacci Heap (15
Floyd Warshall (13
Binomial Heap (6
Dijsktra (3