Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/doantrunghuy/exercises-and-solutions-to-algorithmic-problems
Accepted solutions, doing topics on: Introductory Problems, Sorting and Searching, Dynamic Programming, Graph Algorithms, Range Queries, Tree Algorithms, Mathematics, String Algorithms, Geometry.
https://github.com/doantrunghuy/exercises-and-solutions-to-algorithmic-problems
advanced-techniques dynamic-programming geometry graph mathematics range-query string tree
Last synced: 10 days ago
JSON representation
Accepted solutions, doing topics on: Introductory Problems, Sorting and Searching, Dynamic Programming, Graph Algorithms, Range Queries, Tree Algorithms, Mathematics, String Algorithms, Geometry.
- Host: GitHub
- URL: https://github.com/doantrunghuy/exercises-and-solutions-to-algorithmic-problems
- Owner: DoanTrungHuy
- Created: 2023-08-06T10:19:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-13T08:49:56.000Z (6 months ago)
- Last Synced: 2024-07-14T06:26:21.272Z (6 months ago)
- Topics: advanced-techniques, dynamic-programming, geometry, graph, mathematics, range-query, string, tree
- Language: C++
- Homepage: https://cses.fi/user/83959
- Size: 10.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Exercises and Solutions to Algorithmic Problems
This repository contains a curated collection of algorithmic problems along with their accepted solutions. The problems are organized into key topics that cover a wide range of algorithmic challenges. Whether you're a beginner or looking to deepen your understanding of algorithms, this repository provides a comprehensive resource for practicing and mastering various algorithms.
## Topics Covered
The exercises are categorized into the following core topics:
### 1. **Introductory Problems**
- Fundamental problems designed for beginners to get started with basic algorithmic techniques.### 2. **Sorting and Searching**
- Various sorting algorithms (Quick Sort, Merge Sort, etc.) and searching techniques (Binary Search, Linear Search, etc.).### 3. **Dynamic Programming**
- Classic dynamic programming problems that teach you how to optimize solutions by solving subproblems and storing intermediate results.### 4. **Graph Algorithms**
- Algorithms to solve graph-based problems, including traversal techniques like DFS, BFS, and algorithms for shortest paths, minimum spanning trees, and more.### 5. **Range Queries**
- Problems that deal with querying ranges of data efficiently, such as segment trees and binary indexed trees.### 6. **Tree Algorithms**
- Problems involving binary trees, binary search trees, AVL trees, and various tree traversal algorithms.### 7. **Mathematics**
- Algorithmic problems focused on mathematical concepts such as number theory, combinatorics, and prime factorization.### 8. **String Algorithms**
- A collection of problems related to string manipulation, pattern matching, and string processing algorithms like KMP and Rabin-Karp.### 9. **Geometry**
- Algorithms related to computational geometry, including problems on points, lines, and polygons.## Features
- **Well-documented solutions**: Each problem is accompanied by a detailed explanation of the approach, time complexity, and edge cases.
- **Optimized solutions**: Solutions are implemented with an emphasis on efficiency and scalability.
- **Comprehensive test cases**: Every solution is tested with multiple test cases to ensure correctness.