Skip to content
/ DSA Public

Serves as a comprehensive learning resource for data structures and algorithms. It contains implementations in multiple programming languages, along with solutions to various coding problems from platforms like LeetCode, CodeWars, and Codeforces.

Notifications You must be signed in to change notification settings

Bardala/DSA

Repository files navigation

Data Structures and Algorithms

This repository serves as a comprehensive learning resource for data structures and algorithms. It contains implementations in multiple programming languages, along with solutions to various coding problems from platforms like LeetCode, CodeWars, and Codeforces.

📚 Topics Covered

Data Structures

  • Binary Tree & BST (/BinaryTree)

    • Binary Search Tree implementation
    • Tree traversal algorithms
    • FreeCodeCamp exercises
  • Linked List (/linkedList)

    • Basic linked list operations
    • Class-based implementation
    • FreeCodeCamp challenges

Algorithms

  • Backtracking (/Backtracking)

    • Implementation of backtracking algorithms
    • Problem-solving using backtracking
  • Dijkstra's Algorithm (/Dijkstra)

    • Implementation in TypeScript and Python
    • Graph traversal and shortest path finding
  • Dynamic Programming (/Dynamic Programming)

    • Memoization techniques
    • Tabulation approaches
    • Problem-solving strategies
  • Recursion (/Recursion)

    • Basic recursion examples
    • Tail recursion optimization
    • String manipulation using recursion
  • Sorting Algorithms (/Sort)

    • Bubble Sort
    • Merge Sort
    • Quick Sort
    • Selection Sort
  • Two Pointers Technique (/TwoPointers)

    • Implementation of two-pointer algorithms
    • Problem-solving using the technique

Problem Solving

The /ProblemSolving directory contains solutions to various coding challenges from:

  • LeetCode
  • CodeWars
  • Codeforces

Organized by programming language:

  • Java
  • JavaScript/TypeScript
  • Python

Additional Topics

  • SQL (/SQL)
    • SQL learning resources
    • Problem-solving with SQL queries

🔧 Languages & Technologies

The implementations are available in multiple languages:

  • JavaScript/TypeScript

    • Modern ES6+ features
    • Type-safe implementations in TypeScript
    • Jest for testing
  • Java

    • Object-oriented implementations
    • Standard Java collections
  • Python

    • Pythonic implementations
    • Clean and readable code

🎯 Purpose

This repository serves multiple purposes:

  1. Personal learning and practice
  2. Reference for common DS&A patterns
  3. Preparation for technical interviews
  4. Understanding algorithmic complexity and optimization

📝 Structure

Each topic directory typically contains:

  • Implementation files
  • Example usage
  • Problem-specific solutions
  • Documentation (where applicable)

🚀 Getting Started

  1. Clone the repository
  2. Navigate to specific topic directories
  3. Run the code examples using the appropriate runtime:
    • Node.js for JavaScript/TypeScript
    • JDK for Java
    • Python interpreter for Python files

🌱 Work in Progress

This is an active learning repository that's continuously updated with:

  • New implementations
  • Additional problem solutions
  • Improved documentation
  • More coding challenges

Feel free to explore and learn from the implementations!

About

Serves as a comprehensive learning resource for data structures and algorithms. It contains implementations in multiple programming languages, along with solutions to various coding problems from platforms like LeetCode, CodeWars, and Codeforces.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published