Skip to main content

Algorithm solving Common Patterns & Techniques

 These are targeted data manipulation strategies used to handle arrays, strings, and linked lists efficiently.

  • Two Pointers: Uses two reference pointers to iterate through a data structure simultaneously, typically from opposite ends or at different speeds (Fast & Slow pointers).
  • Sliding Window: Maintains a subset of data (a "window") over a sequential structure to track running statistics without recalculating the whole set.
  • Prefix Sum: Pre-computes and stores cumulative sums of an array to allow for \(O(1)\) constant-time range sum queries.
  • Dynamic Programming (DP): Dynamic programming is an optimization technique used to solve problems by breaking them down into simpler subproblems and storing the results of these subproblems to avoid redundant computations. It is particularly effective for problems exhibiting overlapping subproblems and optimal substructure.
  • Greedy Algorithm
  • Breadth-First Search (BFS) / Depth-First Search (DFS): Systematic graph and tree traversal methods used to explore neighbor nodes layer-by-layer (BFS) or dive deep down a path before retreating (DFS). 

Searching and Sorting Algorithm
1. Binary Search (good for sorted set)
2. Depth first search
3. Breadth first seach
4. Dijkstra

Sorting
1. Bubble sort
2. Quick sort
3. Insertion
4. Selection
5. Heap
----------------------------

Dynamic Programming Questions

1. Fibonacci Sequence
Problem: Calculate the nth Fibonacci number.
2. 

Comments

Popular posts from this blog

API Basics