Skip to content

This repo contains my ongoing learning notes and problems of DSA

Notifications You must be signed in to change notification settings

kumaradarsh2/DSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms in C++

This repository documents my ongoing journey of learning and practicing Data Structures and Algorithms using C++. It serves as a personal log of my progress, a collection of solutions to various problems, and a quick reference guide for future review.

Repository Structure

The repository is organized by topic. Each top-level directory corresponds to a major data structure, an algorithmic concept, or a C++ feature. Inside each directory, you'll find C++ source files (.cpp) that implement the concepts or solve specific problems related to that topic.

Topics Covered So Far

Here's a summary of the concepts and problem patterns I've worked on:

Core Data Structures

  • Arrays: Basic operations, rotations, and classic problems.
  • 2D Arrays (Matrices): Traversal (Spiral, Wave), rotation, binary search, and other matrix manipulations.
  • Strings: (Actively working on this)
    • Basic manipulations and checks (Palindrome, Reversal).
    • Problem-solving with strings (Sorting, IP Defanging).
    • Introduction to Sliding Window technique.

Algorithmic Techniques

  • Binary Search: Standard implementation and solutions to many popular interview problems on sorted arrays.
  • Two Pointers: Solving problems efficiently by using two pointers to traverse data structures.
  • Prefix Sum: Technique for solving subarray sum and related problems.
  • Sorting: Implementation of basic sorting algorithms like Insertion Sort.
  • Mathematical Algorithms: Basic number theory concepts like GCD.

C++ Standard Template Library (STL)

  • Hands-on practice with core STL containers and utilities:
    • std::vector
    • std::list
    • std::pair
    • std::map
    • std::set
    • std::unordered_map
    • std::unordered_set

What's Next?

My immediate focus is on deepening my understanding of Strings and the Sliding Window technique. After that, I plan to tackle:

  • Pointers and Memory Management
  • Recursion (Big Boss)
  • Object Oriented Programming in c++ (OOP)

Phase 2 Starts here

  • Linked Lists
  • Stacks & Queues
  • Trees (Binary Trees, BSTs)
  • Heaps (Priority Queues)
  • Graphs
  • Dynamic Programming

"The only way to learn a new programming language is by writing programs in it." - Dennis Ritchie


Last updated: September 4, 2025

About

This repo contains my ongoing learning notes and problems of DSA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published