📄️ Bit manipulation
Bit manipulation is often used for tasks like setting, clearing, or toggling specific bits, as well as optimizing certain algorithms and data structures.
📄️ Divide and Conquer
Divide and conquer is a problem-solving strategy that involves breaking down a complex problem into smaller, more manageable sub-problems.
📄️ Dynamic programming
A problem-solving technique that breaks down a complex problem into smaller overlapping sub-problems, solving each sub-problem only once and storing the solutions for reuse.
📄️ Graphs
Topological sorting
📄️ Greedy
Definition
📄️ Hashing
The concept of mapping data to fixed-size arrays using a hash function, where similar inputs produce unique hash codes.
📄️ Numerical
Numerical algorithms involve computational procedures for solving mathematical problems with numerical values.
📄️ Parallel
Parallel algorithms are designed to execute multiple tasks simultaneously, leveraging the capabilities of parallel computing architectures.
📄️ Randomized
Definition
📄️ Searching
Definition
📄️ Sorting
Definition
📄️ String
String algorithms are computational techniques designed to solve problems related to manipulating and analyzing strings, which are sequences of characters.
📄️ Tree
Tree algorithms involve computational techniques for solving problems related to tree structures, which consist of nodes connected by edges in a hierarchical arrangement.