Skip to content

neomn/Algorithms_Recap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

the project is Under Development

a comprehensive list of algorithms related to the coding challenges

the list is not completed yet, under development

Sorting Algorithms

  1. Bubble Sort
  2. Insertion Sort
  3. Selection Sort
  4. Merge Sort
  5. Quick Sort
  6. Heap Sort
  7. Radix Sort
  8. Bucket Sort
  9. Shell Sort
  10. Counting Sort
  11. Tim Sort

Searching Algorithms

  1. Linear Search
  2. Binary Search
  3. Interpolation Search
  4. Exponential Search
  5. Hashing (e.g., using hash tables)

Graph Problems

  1. Depth-First Search (DFS)
  2. Breadth-First Search (BFS)
  3. Dijkstra's Algorithm
  4. Bellman-Ford Algorithm
  5. Floyd-Warshall Algorithm
  6. Kruskal's Algorithm (Minimum Spanning Tree)
  7. Prim's Algorithm (Minimum Spanning Tree)
  8. Topological Sort
  9. Strongly Connected Components
  10. Eulerian Path/Circuit
  11. Hamiltonian Path/Cycle
  12. Travelling Salesman Problem
  13. Maximum Flow (Ford-Fulkerson, Edmonds-Karp)
  14. Minimum Cut
  15. Bipartite Matching (Hopcroft-Karp Algorithm)

Dynamic Programming Problems

  1. Fibonacci Sequence
  2. Knapsack Problem
  3. Longest Common Subsequence
  4. Edit Distance
  5. Longest Increasing Subsequence
  6. Matrix Chain Multiplication
  7. Coin Change Problem
  8. Rod Cutting Problem
  9. Palindrome Partitioning
  10. Subset Sum

Tree Problems

  1. Tree Traversals (Inorder, Preorder, Postorder)
  2. Binary Search Trees (BST)
  3. AVL Trees
  4. Red-Black Trees
  5. B-Trees
  6. Trie (Prefix Tree)
  7. Lowest Common Ancestor (LCA)
  8. Segment Trees
  9. Fenwick Trees (Binary Indexed Trees)
  10. Huffman Coding

String Problems

  1. Brute Force String Matching
  2. Knuth-Morris-Pratt (KMP) Algorithm
  3. Boyer-Moore Algorithm
  4. Longest Palindromic Substring
  5. Rabin-Karp Algorithm
  6. String Edit Distance (Levenshtein Distance)
  7. Regular Expression Matching

Heap and Priority Queue

  1. Binary Heap
  2. Fibonacci Heap
  3. Priority Queue (Min-Heap/Max-Heap)

Hashing and Hash Tables

  1. Hash Functions
  2. Open Addressing
  3. Separate Chaining
  4. Linear Probing
  5. Quadratic Probing
  6. Cuckoo Hashing

Geometric Algorithms

  1. Convex Hull (Graham's Scan, Jarvis March)
  2. Closest Pair of Points
  3. Line Intersection
  4. Polygon Triangulation

Miscellaneous Algorithms

  1. Union-Find (Disjoint Set Union)
  2. Interval Tree
  3. Suffix Array
  4. Suffix Tree
  5. Minimum Spanning Arborescence
  6. Game Theory (e.g., Nim Game)
  7. Longest Path in a DAG
  8. Maximum Subarray Sum (Kadane's Algorithm)
  9. Majority Element (Boyer-Moore Voting Algorithm)
  10. Hash-based Set and Map (e.g., HashSet, HashMap)

algorithms to solve specific problems

  1. Knutt-Morris-Pratt (KMP) : algorithm is a pattern matching algorithm that improves upon naive pattern matching by utilizing information from previous matches to avoid unnecessary re-comparisons
  2. manacher's algorithm : used to find the longest palindromic substring in any given string
  3. Hamming Weight : find number of 1 bits in a binary representation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published