Welcome to my personal jouney of mastering Data Structure and Algorithms (DSA) using JavaScript!
This repository is a hands-on companion to the Codevolution DSA Playlist on YouTube
To build a strong foundation in DSA concepts using JavaScript by:
- Watching and coding along with each YouTube video.
- Writing detailed notes and explanation for every lesson.
- Commiting regularly to this repo for consistent and progress tracking.
✔️ Part 1: Core Algorithm Concepts
- What is an Algorithm?
- Time and Space Complexity
- Big-O Notation
- Objects and Arrays Big-O Analysis
- Math-Based Algorithms:
- Fibonacci Sequence
- Factorial of a Number
- Prime Number
- Power of Two
- Recursion
- Recursion Fibonacci
- Recursion Factorial
- Search Algorithms
- Linear Search
- Binary Search
- Recursive Binary Search
- Sorting Algorithms
- Buble Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Miscellaneous Problems:
- Cartesian Product
- Climbing Staircase
- Tower of Hanoi
✔️ Part 2: Data Structures in Depth
- Array
- Objects
- Sets
- Maps
- Stacks & Queues
- Stack (Array-based)
- Queue (Array-based)
- Circular Queue
- Linked List Stack
- Linked List Queue
- Linked List
- Linked List Class
- Prepend / Append
- Insert / Remove
- Remove the value
- Search
- Reverse
- With tail Support
- Doubly Linked List
- Hash Tables
- Hash Table Basics
- Handing Collisions
- Trees
- Tree Basics
- Binary Search Tree (BST)
- BST Class
- Insert/Search
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Find Min & Max
- Delete Node
- Graphs
- Adjacency Matrix
- Adjacency List
- Add Vertex & Edge
- Display Graph & Has Edge
- Remove Edge & Vertex
"Data structures + algorithms = programs" - Niklaus Wirth
/learn-dsa-js
├── notes/
│ └── lesson-01-intro.md
├── src/
│ └── lesson-01-intro.js
├── README.md
notes/
- Markdown files containing summaries, insights and annotated explanations for each lesson.stc/
- JavaScript files with practical code snippets, solutions and experiments
- JavaScript (ES6+)
- Node.js (optional for running scripts)
- Markdown for notes
- Git & GitHub for version control and transparency
I aim to complete 10–20 videos per week, depending on complexity and available time. Every video will:
- Be summarized in a markdown file
- Have a corresponding code snippet (when applicable)
- Be committed with a meaningful Git message
-
Clone the repo:
git clone https://github.com/<your-username>/learn-DSA-JS.git cd dsa-javascript
-
Browse through the notes/ and src/ directories.
-
Run JavaScript file using Node.js:
node src/lesson-01-intro.js
To:
- Sharpen my problem-solving skills.
- Build muscle memory with JS coding.
- Prepare for technical interviews.
- Document my learning process publicly.
Feel free to ⭐️ the repo, fork it, or use it as your own study log. You can also watch the playlist and follow along. Learning is better when it shared.
Speaking of sharing, here are some advance courses that might intersting to you.
- Advance JavaScript Crash Course
- Asychronous JavaScript Crash Course
- React.js Totorial for Beginners
- React 18 Fundamentals Crash Course
- React + TypeScript Tutorial for Beginners
"In theory, there's no difference between theory and practice. In practice, there is." - Yogi Berra