Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
I

iruka

> 编程语言
Open source

teaching data structures and algorithms to web engineers

782 stars0 likes0 views
WebsiteGitHub

About

teaching data structures and algorithms to web engineers

iruka

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:

bash
yarn add dsa-ts

Data Structures

  • Sequences
    • Linked List
    • Stack
    • Queue
    • Double-ended Queue
    • Circular Buffer
  • Priority Queues
    • Binary Heap
    • D-Heap
    • Indexed Binary Heap
    • Mergeable Heaps
      • Binomial Heap
      • Lazy Binomial Heap
      • Fibonnaci Heap
  • Search Trees
    • Binary Search Tree
    • AVL Tree
    • Red-black Tree
    • B-Tree
  • Hash Tables
    • Hash Table (Separate Chaining)
    • Hash Table (Open Addressing)
      • Hash Table (Linear Probing)
      • Hash Table (Quadratic Probing)
      • Hash Table (Double Hashing)

Algorithms

  • Search
    • Binary Search
    • Breadth-first Search
    • Depth-first Search
  • Sorting
    • Merge Sort
    • Quick Sort
    • Heap Sort
    • Topological Sort (DFS)
    • Topological Sort (Kahns)
    • Counting Sort
    • Bucket Sort
  • [] Graph Theory
    • [] Graphs
      • Shortest Paths
        • Dijkstra's SSSP
        • Bellman-Ford SSSP
        • Floyd-Warshall APSP
      • Minimum Spanning Tree
    • Network Flow

References

  • Fundamental Data Structures
  • Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
  • Algorithm Design by Jon Kleinberg and Éva Tardos
  • Algorithms by William Fiset
  • Algorithms by Jeff Erickson
  • Stanford CS 166
  • Harvard CS 224

Contributing

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.

License

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

Issues· 4 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScript

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言