This repository presents a collection of algorithm examples implemented in Python. Each algorithm is a set of instructions or a procedure devised to solve specific problems or achieve particular tasks. The showcased algorithms encompass a broad spectrum, ranging from straightforward sequences of basic operations to intricate processes involving diverse data structures and logical operations.
Sorting, a fundamental operation in computer science, is efficiently addressed by several algorithms. This repository highlights the following sorting algorithms:
- Quicksort
- Merge Sort
- Heap Sort
Efficient algorithms exist to tackle the common task of searching for an element within a large dataset. This repository includes the following search algorithms:
- Binary Search
- Hash Tables
Graph algorithms provide solutions to problems related to graphs, which are fundamental data structures capable of representing various real-world scenarios. This repository includes the following graph algorithms:
- Dijkstra Shortest Path
- Breadth First Search
- Flood Fill
- Floyd-Warshall
Dynamic programming is a powerful problem-solving technique that involves breaking down problems into smaller subproblems. By storing solutions to these subproblems, redundant computations are avoided. Explore the dynamic programming examples in this repository to gain insights into the application of this technique across diverse problem domains.
Greedy algorithms aim to solve optimization problems by making locally optimal choices at each step, with the ultimate goal of achieving a global optimum. The repository provides examples of greedy algorithm implementations, showcasing their applications and approximate solutions.
Backtracking is a general algorithmic technique that systematically explores all possible combinations to find solutions. It traverses different paths, discarding those that cannot lead to valid solutions. The repository offers examples of backtracking algorithms, demonstrating their efficiency in solving complex problems. This repository includes the following algorithm:
- N-Queens Problem
Feel free to explore the algorithm examples in each category and delve into the provided implementation details and code files for a deeper understanding.