- Notifications
You must be signed in to change notification settings - Fork59
A collection of various useful algorithms and data structures along with their Java implementations.
License
jpa99/Algorithms
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This respository is a collection of various useful algorithms and data structures along with their Java implementations, intended for educational use. This is a work in progress, so some algorithms may not be included. All files that have been added have been tested extensively and should be accurate, readable, and efficient. Feel free to suggest any algorithms that you'd like to see implemented in the future. Don't hesitate to contact me with any questions, concerns, or feedback (my contact information is at the bottom of this file). If you found this repository helpful, I'd love to know :)
- Algorithms
- Resources
- Graph Traversal
- Breadth-First Search
- Depth First Search
- Shortest Path
- Dijkstra's Algorithm
- Bellman-Ford
- Floyd-Warshall
- Johnson's Algorithm
- Minimum Spanning Tree
- Kruskal's Algorithm
- Prim's Algorithm
- Network Flow
- Karger's Algorithm
- Push-Relabel
- Edmonds-Karp
- Ford-Fulkerson
- Tarjan's Algorithm
- Topological Sort
- Strongly Connected Components
- 0-1 Knapsack
- Edit (Levenshtein) Distance
- Longest Increasing Subsequence
- Longest Common Subsequence
- Maximum Subset Sum
- Timsort
- Radix Sort
- Counting Sort
- Quicksort
- Heapsort
- Mergesort
- Insertion Sort
- Bubble Sort
- Selection Sort
- Bogosort
- Linear
- Binary
- ith Order Statistic
- Sort Select
- Randomized Select
- Heapselect
- Quickselect
- String Searching
- Aho-Corasick
- Z Algorithm
- Knuth-Morris-Pratt
- Boyer-Moore
- Rabin-Karp
- Brute Force
- Fibonacci
- Binet's Formula
- Iterative
- Recursive (DP)
- Matrix Exponentiation
- Fast Doubling
- Euclid's Algorithm
- Fast Fourier Transform
- Primality Testing
- Naive
- Sieve of Erastothenes
- Miller-Rabin
- Karatsuba's Algorithm
- Fast Exponentiation
- Strassen's Algorithm
- Convex Hull
- Graham Scan
- Jarvis March
- Naive Optimization
- Simplex (LP)
- Simulated Annealing
- Genetic Algorithms
- Combinatoric Algorithms
- Fisher-Yates Shuffle
- Kadane's Algorithm
- Subarray Inversions
- Graph
- Tree
- Binary Tree
- Fenwick Tree (Binary Indexed Tree)
- Red-Black Tree
- AVL Tree
- B-Tree
- Suffix Tree
- Trie
- Hash Table
- Hash Map
- Stack
- Queue
- List
- LinkedList
Interesting math problems that can be solved computationally; full problem set availablehere. The Project Euler folder contains the full inventory of problems I've implemented with it's own table of contentshere.
Competitive programming style problems fromprevious competitions. The Google Code Jam folder contains the full inventory of problems I've implemented with it's own table of contentshere.
Algorithmic problems from past USA Computing Olympiad contests, check out the fullproblem database. The USACO folder contains the full inventory of problems I've implemented with it's own table of contentshere.
- Joel P. Abraham -joelpabraham@gmail.com
About
A collection of various useful algorithms and data structures along with their Java implementations.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.