Skip to content

I am currently following the Codevolution (DSA with JavaScript) curriculum to build a rock-solid foundation in computer science fundamentals.

Notifications You must be signed in to change notification settings

KaziMehediHasan1/DSA-with-JavaScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Data Structures & Algorithms (JavaScript)

Welcome to my DSA laboratory! πŸ§ͺ This repository is a collection of data structures and algorithms implemented in JavaScript. I am currently following the Codevolution (DSA with JavaScript) curriculum to build a rock-solid foundation in computer science fundamentals.

🎯 Goal

My objective is to move beyond just "making code work" to writing highly optimized, scalable, and efficient software.


πŸ—ΊοΈ Curriculum Progress

πŸ”’ Math Algorithms

  • Fibonacci Sequence
  • Factorial of a Number
  • Prime Number Check
  • Power of Two (Bitwise & Linear)
  • Recursion (Basics & Advanced)

πŸ” Search Algorithms

  • Linear Search
  • Binary Search (Iterative & Recursive)

πŸ“Š Sorting Algorithms

  • Bubble Sort
  • Insertion Sort
  • Quick Sort
  • Merge Sort

πŸ—οΈ Custom Data Structures

  • Linked Lists (Singly & Doubly)
  • Stacks & Queues (Optimized with Objects)
  • Hash Tables (Handling Collisions)
  • Binary Search Trees (BST)
  • Graphs (Adjacency List & Matrix)

πŸ› οΈ Why JavaScript?

Implementing DSA in JavaScript provides unique challenges and insights:

  • Memory Management: Understanding how the V8 engine handles objects and arrays.
  • Optimization: Learning when to use built-in methods vs. manual loops for better performance.
  • Modern Syntax: Leveraging ES6+ features like Classes and Arrow functions.

πŸ“ˆ Big O Performance Table

Algorithm Time Complexity Space Complexity
Binary Search $O(\log n)$ $O(1)$
Merge Sort $O(n \log n)$ $O(n)$
Quick Sort $O(n \log n)$ $O(\log n)$
Bubble Sort $O(n^2)$ $O(1)$

πŸ“‚ Project Structure

Each file in this repo is structured for maximum readability:

  1. The Problem: Description of the challenge.
  2. The Logic: Explanation of the approach.
  3. The Implementation: Clean, commented JS code.
  4. Complexity Analysis: Explicit Time and Space complexity notes.
// Example Structure
function binarySearch(arr, target) {
  // Logic here...
}
// Time: O(log n) | Space: O(1)

About

I am currently following the Codevolution (DSA with JavaScript) curriculum to build a rock-solid foundation in computer science fundamentals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published