This repository contains the implementation of all the algorithms in Java, Golang and Python :
Searching Algorithms:
Linear Search Binary Search Interpolation Search Depth-First Search (DFS) Breadth-First Search (BFS) Sorting Algorithms:
Bubble Sort Selection Sort Insertion Sort Merge Sort Quick Sort Heap Sort Radix Sort Bucket Sort Graph Algorithms:
Dijkstra's Algorithm Bellman-Ford Algorithm Kruskal's Algorithm Prim's Algorithm Floyd-Warshall Algorithm Topological Sorting A* Search Algorithm String Matching Algorithms:
Naive String Matching Rabin-Karp Algorithm Knuth-Morris-Pratt Algorithm Boyer-Moore Algorithm Numerical Algorithms:
Newton-Raphson Method Bisection Method Gaussian Elimination FFT (Fast Fourier Transform) Karatsuba Algorithm (for multiplication) Machine Learning Algorithms:
Linear Regression Logistic Regression Decision Trees Random Forest Support Vector Machines (SVM) K-Means Clustering Neural Networks (various architectures) Cryptographic Algorithms:
RSA Algorithm AES (Advanced Encryption Standard) Diffie-Hellman Key Exchange Hashing Algorithms (MD5, SHA, etc.) Compression Algorithms:
Huffman Coding Run-Length Encoding LZW (Lempel-Ziv-Welch) Geometric Algorithms:
Convex Hull Algorithms (Graham's Scan, Jarvis March) Line Intersection Closest Pair of Points Polygon Triangulation AI and Optimization Algorithms:
Genetic Algorithms Simulated Annealing Particle Swarm Optimization Ant Colony Optimization Reinforcement Learning Algorithms (Q-learning, SARSA)