This repository contains implementations and practice problems related to various data structures in C++. It serves as a comprehensive resource for understanding and applying data structures effectively.
This repository is a compilation of data structure implementations, algorithms, and problem-solving exercises, primarily using C++. It is designed to support learners and developers in mastering data structures and applying them effectively in programming and competitive coding.
The repository is organized as follows:
Data-Structure/
├── Concepts-recap/
├── Phitron Contest/
├── code-ninja360/
├── codeForces/
├── module-1.TimeComplexity/
├── module-2.STL-Vector/
├── module-3.Prefix-Sum-BinarySearch/
├── module-4.LinkedList/
├── module-6.LinkedList-Operation/
├── module-7.singly_linkedlist-Practice-Problem/
├── module-9.doubly_linkedlist/
├── module-10.STL-List-and-Cycle-Detection/
├── module-13.Stack/
├── module-14.Queue/
├── module-17.BinaryTree/
├── module-18.BinaryTree-Operations/
├── module-19.Binary-Search-Tree/
├── module-22.Heap/
├── module-23.Priority-Queue/
└── README.md
- Concepts-recap: Review of fundamental data structure concepts.
- Phitron Contest: Solutions and explanations for Phitron programming contests.
- code-ninja360: Collaborative projects and problem-solving with the Code Ninja 360 community.
- codeForces: Solutions to various CodeForces problems.
- module-1.TimeComplexity: Understanding and analyzing the time complexity of algorithms.
- module-2.STL-Vector: Deep dive into C++ Standard Template Library vectors.
- module-3.Prefix-Sum-BinarySearch: Implementations and applications of prefix sums and binary search algorithms.
- module-4.LinkedList: Implementation and operations of singly linked lists.
- module-6.LinkedList-Operation: Advanced operations on linked lists.
- module-7.singly_linkedlist-Practice-Problem: Practice problems focusing on singly linked lists.
- module-9.doubly_linkedlist: Implementation and operations of doubly linked lists.
- module-10.STL-List-and-Cycle-Detection: Exploring C++ STL lists and techniques for cycle detection.
- module-13.Stack: Implementation and applications of the stack data structure.
- module-14.Queue: Implementation and applications of the queue data structure.
- module-17.BinaryTree: Implementation and traversal methods of binary trees.
- module-18.BinaryTree-Operations: Advanced operations on binary trees.
- module-19.Binary-Search-Tree: Implementation and operations of binary search trees.
- module-22.Heap: Understanding and implementing heap data structures.
- module-23.Priority-Queue: Implementation and applications of priority queues.
- A C++ compiler (e.g., GCC)
- CMake (optional, if used for build configuration)
- Clone the repository:
git clone https://github.com/raihanuldev/Data-Structure.git
- Navigate to the project directory:
cd Data-Structure
- Compile and run the desired module or program using a C++ compiler, for example:
g++ module-4.LinkedList/main.cpp -o linkedlist ./linkedlist
- Select a module or concept you want to learn or practice.
- Compile and execute the C++ files within the selected module.
- Use the provided examples and comments to understand the implementation.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Description of changes"
- Push your branch:
git push origin feature-name
- Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Special thanks to the Phitron Support Team, Pias Bhai [instructor], and me.