Skip to content

Logesh6767/javascript-dsa

Repository files navigation

JavaScript Data Structures & Algorithms

This repository contains my journey of learning data structures and algorithms in JavaScript.

📁 Folder Structure

javascript-dsa/
├── data-structures/          # Implementation of various data structures
│   ├── arrays/              # Array implementations and operations
│   ├── linked-lists/        # Singly and doubly linked lists
│   ├── stacks/              # Stack implementation
│   ├── queues/              # Queue implementations
│   ├── trees/               # Binary trees, BST, AVL, etc.
│   ├── graphs/              # Graph representations and traversals
│   ├── hash-tables/         # Hash table implementations
│   └── heaps/               # Min/Max heap implementations
├── algorithms/               # Algorithm implementations
│   ├── sorting/             # Sorting algorithms (bubble, merge, quick, etc.)
│   ├── searching/           # Binary search, linear search, etc.
│   ├── recursion/           # Recursive problem solutions
│   ├── dynamic-programming/ # DP problems and solutions
│   └── greedy/              # Greedy algorithm problems
├── problem-solving-patterns/ # Common coding patterns
│   ├── frequency-counter/   # Frequency counter pattern problems
│   ├── multiple-pointers/   # Two pointer technique problems
│   └── sliding-window/      # Sliding window pattern problems
├── problems/                 # LeetCode & other coding problems
│   ├── easy/                # Easy difficulty problems
│   ├── medium/              # Medium difficulty problems
│   └── hard/                # Hard difficulty problems
├── big-o-notation/          # Time & space complexity examples
└── utils/                   # Helper functions and utilities

🚀 Getting Started

  1. Navigate to the specific topic you want to study
  2. Run the JavaScript files using Node.js:
    node filename.js

📝 Progress Tracking

Data Structures

  • Arrays - Basic implementation
  • Linked Lists - Basic implementation
  • Stacks - Basic implementation
  • Queues
  • Trees
  • Graphs
  • Hash Tables
  • Heaps

Algorithms

  • Sorting Algorithms - Basic implementations
  • Searching Algorithms
  • Recursion
  • Dynamic Programming
  • Greedy Algorithms

Problem Solving Patterns

  • Frequency Counter - 5 problems completed
  • Multiple Pointers - 5 problems completed
  • Sliding Window - 4 problems completed

Practice Problems

  • Easy problems - In progress
  • Medium problems
  • Hard problems

🔧 How to Use

  1. Clone the repository:

    git clone https://github.com/Logesh6767/javascript-dsa.git
    cd javascript-dsa
  2. Run any JavaScript file:

    node path/to/file.js
  3. Example:

    node problem-solving-patterns/frequency-counter/problem-1-array.js

📚 Learning Resources

  • Problem-solving patterns from coding bootcamps
  • LeetCode problems
  • Common interview questions
  • Algorithm optimization techniques

🎯 Key Topics Covered

  • Big O Notation - Time and space complexity analysis
  • Frequency Counter Pattern - Using objects/maps to count occurrences
  • Multiple Pointers - Two-pointer technique for array problems
  • Sliding Window - Window-based solutions for subarrays/substrings
  • Data Structure Implementations - Building DSA from scratch
  • Algorithm Analysis - Understanding trade-offs and optimizations

Happy coding! 🎯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published