Skip to content

Codeveno/Algorithm-analysis-design-main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm-analysis-design

1. Searching Algorithms

Linear Search

Binary Search

Ternary Search

Jump Search

Interpolation Search

Exponential Search

Fibonacci Search

Ubiquitous Binary Search

Meta Binary Search

Sparse Table Search

2. Sorting Algorithms

Bubble Sort

Optimized Bubble Sort

Selection Sort

Insertion Sort

Shell Sort

Merge Sort (Top-down)

Merge Sort (Bottom-up)

Quick Sort (Lomuto)

Quick Sort (Hoare)

Randomized Quick Sort

3-Way Quick Sort

Heap Sort

Counting Sort

Radix Sort (LSD)

Radix Sort (MSD)

Bucket Sort

Pigeonhole Sort

Cycle Sort

Cocktail Shaker Sort

Gnome Sort

Comb Sort

Bitonic Sort

Odd-Even Sort

Strand Sort

TimSort

Block Sort

Flash Sort

3. Basic Data Structure Algorithms

Stack Push/Pop

Queue Enqueue/Dequeue

Circular Queue Operations

Deque Operations

Priority Queue Operations

Singly Linked List Insert/Delete/Traverse

Doubly Linked List Insert/Delete/Traverse

Circular Linked List Insert/Delete/Traverse

Skip List Search/Insert/Delete

Self-adjusting List (Move-to-Front)

Union-Find (Disjoint Set)

Union by Rank

Path Compression in Union-Find

4. Hashing Algorithms

Separate Chaining Hash Table

Linear Probing

Quadratic Probing

Double Hashing

Robin Hood Hashing

Cuckoo Hashing

Perfect Hashing

Dynamic Hashing

Extendible Hashing

5. Graph Traversal Algorithms

Breadth-First Search (BFS)

Depth-First Search (DFS) Recursive

DFS Iterative

Iterative Deepening DFS

Bidirectional Search

Uniform Cost Search

6. Graph Shortest Path Algorithms

Dijkstra’s Algorithm

Bellman–Ford Algorithm

Floyd–Warshall Algorithm

Johnson’s Algorithm

A* Search Algorithm

Greedy Best-First Search

Bidirectional Dijkstra

ALT Algorithm (A*, Landmarks, Triangle inequality)

7. Graph Minimum Spanning Tree Algorithms

Prim’s Algorithm

Kruskal’s Algorithm

Borůvka’s Algorithm

#8. Graph Flow Algorithms Ford–Fulkerson Method

Edmonds–Karp Algorithm

Dinic’s Algorithm

Push–Relabel Algorithm

Capacity Scaling Algorithm

Minimum-Cost Maximum Flow

9. Graph Connectivity and Components

Tarjan’s Strongly Connected Components Algorithm

Kosaraju’s Algorithm

Gabow’s Algorithm

Bridge Finding Algorithm

Articulation Points Algorithm

10. Eulerian/Hamiltonian Graph Algorithms

Hierholzer’s Algorithm (Eulerian Path/Circuit)

Hamiltonian Path Finder (Backtracking)

Held–Karp Algorithm (Hamiltonian Cycle)

11. Tree Algorithms

Tree Traversal (Preorder, Inorder, Postorder)

Level Order Traversal

Morris Traversal

Lowest Common Ancestor (Binary Lifting)

Lowest Common Ancestor (Euler Tour + RMQ)

AVL Tree Rotations (LL, RR, LR, RL)

Red-Black Tree Insert/Delete

Splay Tree Operations

B-Tree Insert/Delete/Search

B+ Tree Operations

Segment Tree Build/Query/Update

Fenwick Tree (Binary Indexed Tree)

Treap Operations

Cartesian Tree Build

12. String Matching Algorithms

Naive String Matching

Knuth–Morris–Pratt (KMP) Algorithm

Rabin–Karp Algorithm

Z-Algorithm

Boyer–Moore Algorithm

Aho–Corasick Algorithm

Finite Automata Based Search

Shift-Or/Shift-And Algorithm

13. String Processing Algorithms

Suffix Array Construction (Naive)

Suffix Array (Prefix Doubling)

Suffix Tree Construction (Ukkonen’s Algorithm)

Longest Common Prefix (Kasai’s Algorithm)

Longest Common Subsequence (DP)

Longest Common Substring (DP)

Edit Distance (Levenshtein Distance)

Damerau–Levenshtein Distance

Manacher’s Algorithm (Longest Palindromic Substring)

Palindrome Partitioning

Rolling Hash

14. Dynamic Programming Algorithms

Fibonacci (Top-down)

Fibonacci (Bottom-up)

0/1 Knapsack Problem

Unbounded Knapsack Problem

Coin Change (Min Coins)

Coin Change (Number of Ways)

Longest Increasing Subsequence (O(n^2))

Longest Increasing Subsequence (O(n log n))

Matrix Chain Multiplication

Egg Dropping Puzzle

Rod Cutting Problem

Minimum Cost Path

Partition Equal Subset Sum

Palindromic Subsequence Count

Optimal Binary Search Tree

Wildcard Matching

Word Break Problem

Catalan Number Computation

15. Number Theory Algorithms

Euclidean Algorithm (GCD)

Extended Euclidean Algorithm

Least Common Multiple (LCM)

Modular Exponentiation (Binary Exponentiation)

Modular Inverse (Extended Euclid)

Modular Inverse (Fermat’s Little Theorem)

Sieve of Eratosthenes

Sieve of Atkin

Miller–Rabin Primality Test

Fermat Primality Test

Pollard’s Rho Algorithm

Chinese Remainder Theorem

Binary GCD Algorithm

Karatsuba Multiplication

Strassen Matrix Multiplication

Gauss–Jordan Elimination

Gaussian Elimination

16. Computational Geometry Algorithms

Graham’s Scan (Convex Hull)

Jarvis March (Convex Hull)

Andrew’s Monotone Chain (Convex Hull)

Rotating Calipers

Closest Pair of Points (Divide and Conquer)

Line Segment Intersection (Sweep Line)

Bentley–Ottmann Algorithm

Point in Polygon (Ray Casting)

Point in Polygon (Winding Number)

Voronoi Diagram (Fortune’s Algorithm)

Delaunay Triangulation

Polygon Triangulation (Ear Clipping)

17. Cryptographic Algorithms

Caesar Cipher

Vigenère Cipher

Playfair Cipher

Hill Cipher

RSA Encryption/Decryption

Diffie–Hellman Key Exchange

ElGamal Encryption

Elliptic Curve Cryptography (ECC) Basics

Digital Signature Algorithm (DSA)

SHA-1 Hash Function

SHA-256 Hash Function

MD5 Hash Function

AES Encryption (Rijndael)

DES Encryption

Triple DES Encryption

Blowfish Encryption

Twofish Encryption

ChaCha20 Stream Cipher

Salsa20 Stream Cipher

18. Compression Algorithms

Run-Length Encoding (RLE)

Huffman Coding

Adaptive Huffman Coding

Arithmetic Coding

Lempel–Ziv–Welch (LZW)

LZ77

LZ78

Burrows–Wheeler Transform

Move-to-Front Transform

19. Machine Learning Core Algorithms

K-Means Clustering

K-Medoids Clustering

Hierarchical Clustering (Agglomerative)

Hierarchical Clustering (Divisive)

DBSCAN

Linear Regression

Logistic Regression

Naive Bayes Classifier

K-Nearest Neighbors (KNN)

Decision Tree Learning

Random Forests

Support Vector Machines (SVM)

Gradient Descent (Batch)

Gradient Descent (Stochastic)

Perceptron Learning Algorithm

Multi-Layer Perceptron (Backpropagation)

20. Game Theory and AI Search Algorithms

Minimax Algorithm

Minimax with Alpha–Beta Pruning

Negamax Algorithm

Iterative Deepening Minimax

Expectimax Algorithm

Monte Carlo Tree Search (MCTS)

Proof-Number Search

Killer Move Heuristic

Principal Variation Search

Null Move Pruning

21. Scheduling Algorithms

First Come First Serve (FCFS) Scheduling

Shortest Job First (SJF) Scheduling

Shortest Remaining Time First (SRTF) Scheduling

Round Robin Scheduling

Priority Scheduling (Non-preemptive)

Priority Scheduling (Preemptive)

Multilevel Queue Scheduling

Multilevel Feedback Queue Scheduling

Lottery Scheduling

Fair Share Scheduling

Earliest Deadline First (EDF) Scheduling

Rate Monotonic Scheduling (RMS)

Least Laxity First Scheduling

22. Parallel Algorithms

Parallel Prefix Sum (Scan)

Parallel Matrix Multiplication

Parallel Merge Sort

Parallel Quick Sort

Parallel BFS

Parallel DFS

Parallel Floyd–Warshall

Parallel Dijkstra’s Algorithm

Parallel PageRank Computation

Work–Stealing Scheduling

23. Distributed Algorithms

Bully Election Algorithm

Ring Election Algorithm

Chandy–Lamport Snapshot Algorithm

Ricart–Agrawala Mutual Exclusion Algorithm

Lamport Timestamps

Vector Clocks

Paxos Consensus Algorithm

Raft Consensus Algorithm

Gossip Protocol

Two-Phase Commit Protocol

Three-Phase Commit Protocol

Byzantine Fault Tolerance Algorithm

24. Advanced Graph Algorithms

Transitive Closure (Floyd–Warshall variant)

Suurballe’s Algorithm (Disjoint Paths)

Yen’s K-Shortest Paths Algorithm

Johnson’s All-Pairs Shortest Paths

Karger’s Min Cut Algorithm

Stoer–Wagner Min Cut Algorithm

Edmonds’ Blossom Algorithm (Maximum Matching)

Hopcroft–Karp Algorithm (Bipartite Matching)

Kuhn’s Algorithm (Hungarian Algorithm for Matching)

Hungarian Algorithm for Assignment Problem

Bron–Kerbosch Clique Finding Algorithm

Clique Percolation Method

25. Advanced Dynamic Programming

Bitmask Dynamic Programming

Digit Dynamic Programming

DP on Trees (Subtree DP)

DP on Graphs (Shortest Path Count)

Divide and Conquer Optimization DP

Knuth Optimization DP

Convex Hull Trick Optimization DP

Slope Trick DP

DP with SOS (Sum Over Subsets)

DP with Meet-in-the-Middle

26. Advanced Number Theory

Tonelli–Shanks Algorithm (Square Root Modulo Prime)

Baby-Step Giant-Step Discrete Logarithm

Pollard’s Kangaroo Algorithm

Lucas–Lehmer Primality Test

AKS Primality Test

Montgomery Multiplication

Cipolla’s Algorithm (Square Root Mod p)

Wilson’s Theorem for Primality Check

Modular Factorial Computation

Mobius Function Computation

Euler’s Totient Function Computation

Inclusion–Exclusion Principle Algorithm

Chinese Remainder with Garner’s Algorithm

27. Text Compression and Processing

Arithmetic Coding (Static)

Arithmetic Coding (Adaptive)

LZSS Compression

LZR (Lempel–Ziv–Ross Williams)

PAQ Family Compression Algorithm

Brotli Compression Algorithm

Zstandard Compression Algorithm

bzip2 Compression (BWT + Huffman)

28. Data Mining and Pattern Discovery

Apriori Algorithm (Association Rules)

FP-Growth Algorithm

ECLAT Algorithm

k-Modes Clustering

k-Prototypes Clustering

Gaussian Mixture Model (EM Algorithm)

Mean Shift Clustering

OPTICS Clustering

Spectral Clustering

Affinity Propagation

Hidden Markov Model (Forward–Backward)

Viterbi Algorithm

29. Neural Network and Deep Learning Algorithms

Perceptron Learning Algorithm

Backpropagation Algorithm

Stochastic Gradient Descent with Momentum

Adam Optimizer

RMSProp Optimizer

Adagrad Optimizer

L-BFGS Optimizer

Xavier Initialization

He Initialization

Dropout Regularization Algorithm

Batch Normalization Algorithm

30. Bioinformatics Algorithms

Needleman–Wunsch Sequence Alignment

Smith–Waterman Local Sequence Alignment

BLAST Search Algorithm

FASTA Search Algorithm

De Bruijn Graph for Genome Assembly

Overlap–Layout–Consensus Assembly Algorithm

Burrows–Wheeler Aligner (BWA)

Bowtie Aligner

MAFFT Multiple Sequence Alignment

ClustalW Multiple Sequence Alignment

#31. Computational Geometry Advanced Chan’s Algorithm (Convex Hull)

QuickHull Algorithm

Kirkpatrick–Seidel Algorithm

Minimum Enclosing Circle (Welzl’s Algorithm)

Smallest Enclosing Rectangle Algorithm

KD-Tree Nearest Neighbor Search

Range Tree Search

R-Tree Spatial Indexing

QuadTree Spatial Partitioning

BSP Tree Partitioning

Voronoi Diagram Lloyd’s Relaxation

32. Cryptographic Protocol Algorithms

Merkle–Damgård Construction

HMAC (Hash-Based Message Authentication Code)

PBKDF2 Key Derivation

Scrypt Key Derivation

Argon2 Key Derivation

Shamir’s Secret Sharing

Threshold Cryptography Algorithm

Blind Signature Protocol

Zero-Knowledge Proof (Schnorr Protocol)

Fiat–Shamir Identification Scheme

Oblivious Transfer Protocol

33. Randomized and Probabilistic Algorithms

Reservoir Sampling

Randomized Quick Sort

Randomized Prim’s Algorithm

Randomized Kruskal’s Algorithm

Monte Carlo Integration

Las Vegas Algorithm (Randomized Search)

Bloom Filter Membership Test

Count–Min Sketch Algorithm

HyperLogLog Cardinality Estimation

Skip List Randomized Search

34. External Memory and Big Data Algorithms

External Merge Sort

External Quick Sort

B-Tree Search (Disk Based)

Buffer Tree Algorithm

MapReduce Word Count

MapReduce Inverted Index

MapReduce PageRank

Streaming Median Algorithm

Reservoir Sampling in Streams

Misra–Gries Frequent Items Algorithm

35. Approximation Algorithms

Vertex Cover 2-Approximation

Set Cover Greedy Approximation

Traveling Salesman Problem (Christofides’ Algorithm)

Max Cut Randomized Approximation

Facility Location Greedy Approximation

Knapsack Fully Polynomial-Time Approximation Scheme (FPTAS)

36. Advanced Matrix and Linear Algebra Algorithms

LU Decomposition

Cholesky Decomposition

QR Decomposition (Gram–Schmidt)

QR Decomposition (Householder)

Singular Value Decomposition (SVD)

Eigenvalue Power Iteration

Lanczos Algorithm for Eigenvalues

Arnoldi Iteration

Conjugate Gradient Method

37. Optimization Algorithms

Simplex Method (Linear Programming)

Revised Simplex Method

Interior Point Method

Branch and Bound Algorithm

Branch and Cut Algorithm

Branch and Price Algorithm

Tabu Search

Simulated Annealing

Genetic Algorithm

Differential Evolution Algorithm

Particle Swarm Optimization

Ant Colony Optimization

Bee Colony Optimization

Harmony Search Algorithm

Firefly Algorithm

Cuckoo Search Algorithm

Whale Optimization Algorithm

Grey Wolf Optimizer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages