Skip to content

JianefrelDionaldo/learn-DSA-JS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 Learn Data Structures and Algorithms with JavaScript

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

🚀 Goal

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.

🧠 Topics Covered

✔️ 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

🛠️ Project Structure

/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

🧑‍💻 Tech Stack

  • JavaScript (ES6+)
  • Node.js (optional for running scripts)
  • Markdown for notes
  • Git & GitHub for version control and transparency

📅 Learning Schedule

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

📌 How to Use This Repo

  1. Clone the repo:

    git clone https://github.com/<your-username>/learn-DSA-JS.git
    cd dsa-javascript
  2. Browse through the notes/ and src/ directories.

  3. Run JavaScript file using Node.js:

    node src/lesson-01-intro.js

📚 Resources

🧭 Why I’m Doing This

To:

  • Sharpen my problem-solving skills.
  • Build muscle memory with JS coding.
  • Prepare for technical interviews.
  • Document my learning process publicly.

🙌 Support or Follow Along

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.

"In theory, there's no difference between theory and practice. In practice, there is." - Yogi Berra

About

Personal Journey of mastering Data Structures and Algorithms (DSA) using JavaScript.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published