Skip to content

A curated collection of essential Data Structures & Algorithms problems in JavaScript, following the 80/20 rule. My personal journey of documenting and learning DSA to help others get started.

Notifications You must be signed in to change notification settings

avinashchoran/DSA-in-Javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 

Repository files navigation

DSA in JavaScript: The 80/20 Guide

Welcome! This repository is a personal and growing collection of essential Data Structures and Algorithms (DSA) problems, all implemented in JavaScript.

The Philosophy

The goal here isn't to solve every problem under the sun. Instead, this repository follows the 80/20 principle: focusing on the critical 20% of DSA patterns and problems that provide 80% of the value for interviews and building a strong programming foundation.

This repository is also a documentation of my personal growth. I will be improving the solutions and adding new problems as I learn. My hope is that this living document can serve as a straightforward, no-fluff resource for anyone looking to get started or brush up on their DSA skills in JavaScript.

How to Use This Repo

  1. Clone the repository:
    git clone https://github.com/your-username/DSA-in-Javascript.git
  2. Navigate to a problem: The problems are organized by common coding patterns.
  3. Try it yourself: Before looking at the solution, try to code it up on your own.
  4. Review and learn: Compare your solution with the one provided. The code includes comments to explain the logic and approach.

Repository Structure

The problems are organized by the pattern they represent. This helps in recognizing which tool to use when you encounter a new problem.

/Patterns
└── /<Pattern-Name>
    └── <Problem-Name>.js

Current Problems

Hashing

Kandane's algorithm

  • (no files yet)

Linked List

Prefix Sum

Sliding Window

Two Pointers

Contributing

While this is a personal project, feedback and suggestions are always welcome! If you see a way to improve a solution or want to suggest a "must-know" problem, feel free to open an issue or a pull request.


If you'd like, I can:

  • Add missing problem files to any pattern folder in the repo format.
  • Generate a template for new problems that matches the repository style.
  • Link specific functions or symbols to their implementations (e.g. findPermutation)

About

A curated collection of essential Data Structures & Algorithms problems in JavaScript, following the 80/20 rule. My personal journey of documenting and learning DSA to help others get started.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published