An open API service indexing awesome lists of open source software.

https://github.com/remonhasan/cp-code-library

algorithms & data structures that i learned for CP 💡
https://github.com/remonhasan/cp-code-library

cpp data-structures number-theory prefix-notation stl-algorithms

Last synced: 3 months ago
JSON representation

algorithms & data structures that i learned for CP 💡

Awesome Lists containing this project

README

        

# Competitive Programming Code Library

Welcome to the Competitive Programming Code Library! This repository contains a collection of code samples and solutions for various topics commonly encountered in competitive programming contests. Whether you're a beginner looking to learn new algorithms or an experienced coder seeking efficient implementations, this library aims to provide comprehensive resources for improving your skills.

## About

Competitive programming involves solving algorithmic problems under time constraints. It requires proficiency in data structures, algorithms, and problem-solving techniques. This code library is designed to help you understand and implement these concepts effectively.

## Table of Contents

1. [Introduction](#introduction)
2. [Topics](#topics)
3. [Contribution Guidelines](#contribution-guidelines)
4. [Resources](#resources)
5. [License](#license)

## Introduction

This repository serves as a central hub for competitive programming enthusiasts to explore and learn various topics, algorithms, and problem-solving strategies. Each topic contains code samples, explanations, and links to relevant problems for practice.

## Topics

Below is a list of topics covered in this code library:

- Data Structures
- Arrays
- Linked Lists
- Stacks
- Queues
- Trees
- Graphs
- Heaps
- Hash Tables
- Algorithms
- Sorting
- Searching
- Dynamic Programming
- Greedy Algorithms
- Graph Algorithms
- String Algorithms
- Divide and Conquer
- Advanced Topics
- Segment Trees
- Binary Indexed Trees (Fenwick Trees)
- Disjoint Set Union (DSU)
- Advanced Graph Algorithms
- Advanced Dynamic Programming
- Miscellaneous
- Bit Manipulation
- Number Theory
- Geometry
- Combinatorics
- Probability

Each topic directory contains code samples in various programming languages (C++, Java, Python, etc.), along with explanations and references to related problems for practice.

## Contribution Guidelines

Contributions to this code library are highly encouraged! If you have code samples, explanations, or additional topics to add, feel free to contribute via pull requests. Here are some guidelines to follow:

1. Fork the repository and create a new branch for your contribution.
2. Make your changes, ensuring code quality and adherence to the repository structure.
3. Test your code samples to ensure correctness and efficiency.
4. Update the README.md file if necessary to reflect your changes.
5. Submit a pull request, describing your changes and their significance.

## Resources

Here are some additional resources to enhance your understanding of competitive programming:

- Online Judges: [Codeforces](https://codeforces.com/), [LeetCode](https://leetcode.com/), [HackerRank](https://www.hackerrank.com/), [TopCoder](https://www.topcoder.com/)
- Books: "Competitive Programming" by Steven Halim, Felix Halim; "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
- Websites: [GeeksforGeeks](https://www.geeksforgeeks.org/), [CP-Algorithms](https://cp-algorithms.com/)

## License

This code library is licensed under the [MIT License](LICENSE), allowing for free distribution and modification of the code samples. Feel free to use and share these resources for educational and competitive programming purposes.

Happy Coding!