Skip to content

This major project includes extensive implementations of numerous data structures and algorithms in C++, designed to enhance your understanding and proficiency in computer science.

Notifications You must be signed in to change notification settings

PranjalKumar09/C-Data-Structures

Repository files navigation

DSA and Algorithm Practice Repository

Welcome to the DSA and Algorithm Practice Repository! This repository contains a collection of C++ programs that cover various data structures and algorithms. The code is organized into different categories such as arrays, linked lists, binary trees, dynamic programming, and more.

Table of Contents

Introduction

This repository is designed to help you practice and improve your skills in data structures and algorithms. Each category contains a variety of problems and their solutions, implemented in C++. The repository is regularly updated, and new files are released according to a set schedule.

Categories

2D Arrays

  • Simplest form of multi-dimensional arrays
  • Various algorithms and problems related to 2D arrays
  • Example: Finding the median in a matrix, rotating a matrix by 90 degrees, etc.

Arrays

  • Fundamental data structure
  • Includes searching, sorting, and various other array manipulation techniques
  • Example: Binary search, finding pairs with a given sum, bubble sort, etc.

Basics

  • Fundamental C++ programs
  • Basic algorithms and utility functions
  • Example: Checking for palindrome, calculating factorial, etc.

Binary Search Trees

  • Operations and algorithms specific to BSTs
  • Example: Finding the median in a BST, flattening a BST, etc.

Binary Trees

  • Comprehensive set of problems related to binary trees
  • Example: Level order traversal, finding the diameter of a tree, etc.

Dynamic Programming (DP)

  • Problems and solutions using the dynamic programming paradigm
  • Example: Climbing stairs problem, maximum sum of non-adjacent elements, etc.

LeetCode

  • Solutions to various problems from LeetCode
  • Example: Problem 140, Problem 165, etc.

Linked Lists

  • Operations and algorithms for singly, doubly, and circular linked lists
  • Example: Detecting loops, merging sorted lists, etc.

Object-Oriented Programming (OOP)

  • Basic and advanced concepts of OOP in C++
  • Example: Implementing classes, inheritance, polymorphism, etc.

Pointers

  • Examples and problems involving pointers in C++
  • Example: Double pointers, reference variables, etc.

Queues

  • Implementations and problems related to different types of queues
  • Example: Circular queues, queue using stacks, etc.

Recursion

  • Problems solved using recursive approaches
  • Example: Permutations of an array, power calculation, etc.

Stacks

  • Stack operations and related problems
  • Example: Valid parenthesis checking, infix to postfix conversion, etc.

Strings

  • String manipulation problems and algorithms
  • Example: Checking if a string is a palindrome, finding duplicates, etc.

Usage

To use the repository, clone it to your local machine using the following command:

git clone https://github.com/yourusername/DSA-and-Algorithm-Practice.git

Contributing

Contributions are welcome! If you find a bug or want to add a new feature, please open an issue or submit a pull request.

  • Fork the repository
  • Create a new branch (git checkout -b feature-branch)
  • Make your changes and commit them (git commit -m 'Add new feature')
  • Push to the branch (git push origin feature-branch)
  • Open a pull request

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

This major project includes extensive implementations of numerous data structures and algorithms in C++, designed to enhance your understanding and proficiency in computer science.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages