Skip to content

SakshamSharma07/Data_Structures_Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms in C++

Welcome to the Data Structures and Algorithms in C++ repository. This repository contains a collection of data structures and algorithms implemented in C++. Each data structure and algorithm includes multiple approaches, explanations, and code.

Table of Contents

Introduction

This repository aims to provide a comprehensive resource for learning and implementing data structures and algorithms in C++. Each topic includes explanations and code examples to help you understand and master the concepts.

Getting Started

To get started with the code in this repository:

  1. Clone the repository:
    git clone https://github.com/yourusername/Data_Structures_Algorithms.git
  2. Navigate to the directory:
    cd Data_Structures_Algorithms
  3. Open the desired folder to view the implementation of data structures or algorithms.

Overview

Data Structures

This section contains implementations of various data structures. Each data structure has its own folder with detailed explanations and code examples.

  • Arrays: Implementation of simple and dynamic arrays.
  • Linked Lists: Singly, doubly, and circular linked lists.
  • Stacks: Array-based and linked list-based stacks.
  • Queues: Array-based, linked list-based, circular, and priority queues.
  • Trees: Binary trees, binary search trees, AVL trees, red-black trees, and segment trees.
  • Graphs: Adjacency matrix and list representations, BFS, DFS.
  • Heaps: Min-heap and max-heap implementations.
  • Hash Tables: Open addressing and chaining methods.

Algorithms

This section contains implementations of various algorithms. Each algorithm has its own folder with detailed explanations and code examples.

  • Sorting Algorithms: Bubble sort, selection sort, insertion sort, merge sort, quick sort, heap sort.
  • Searching Algorithms: Linear search, binary search.
  • Graph Algorithms: Dijkstra's, Bellman-Ford, Floyd-Warshall, Kruskal's, Prim's algorithms.
  • Dynamic Programming: Fibonacci sequence, knapsack problem, longest common subsequence, matrix chain multiplication.
  • Greedy Algorithms: Activity selection, Huffman coding, Kruskal's, Prim's algorithms.
  • Backtracking: N-queens problem, Sudoku solver, subset sum problem.
  • Divide and Conquer: Merge sort, quick sort, binary search.

Problem of the Day

This section includes solutions to the "Problem of the Day" from LeetCode and GeeksforGeeks. Each problem is solved using various approaches and includes explanations and code.

  • LeetCode Problem of the Day: Solutions to daily challenges from LeetCode.
  • GeeksforGeeks Problem of the Day: Solutions to daily challenges from GeeksforGeeks.

Famous DSA Sheets

This section includes code and solutions for problems listed in famous DSA (Data Structures and Algorithms) sheets curated by renowned educators and coding platforms.

  • Love Babbar DSA Sheet: Solutions to the problems listed in Love Babbar's DSA sheet.
  • Striver's SDE Sheet: Solutions to the problems listed in Striver's SDE (Software Development Engineer) sheet.

FAANG Interview Problems

This section includes solutions to famous problems that are frequently asked in technical interviews at FAANG (Facebook, Amazon, Apple, Netflix, Google) companies.

Contributing

Contributions are welcome! Please read the contributing guidelines first.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Data Structures and Algorithm In C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages