- Saved searches
- Use saved searches to filter your results more quickly
- License
- phishman3579/java-algorithms-implementation
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- Saved searches
- Use saved searches to filter your results more quickly
- License
- rampatra/Algorithms-and-Data-Structures-in-Java
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Algorithms and Data Structures implemented in Java
License
phishman3579/java-algorithms-implementation
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Java : Algorithms and Data Structure
The algorithms and data structures are implemented in Java.
This is a collection of algorithms and data structures I’ve implemented in my academic and professional life. The code isn’t optimized but is written to be correct and readable. The algorithms and data structures are tested and, unless noted, believed to be correct.
Created by Justin Wetherell
- For questions use: http://groups.google.com/forum/#!forum/java-algorithms-implementation
- Google: http://code.google.com/p/java-algorithms-implementation
- Github: http://github.com/phishman3579/java-algorithms-implementation
- LinkedIn: http://www.linkedin.com/in/phishman3579
- E-mail: phishman3579@gmail.com
- Twitter: http://twitter.com/phishman3579
Support me with a donation
- AVL Tree
- B-Tree
- Binary Heap (backed by an array or a tree)
- Binary Search Tree
- Compact Suffix Trie (backed by a Patricia Trie)
- Disjoint Set
- Fenwick Tree
- Graph
- Undirected
- Directed (Digraph)
- Distance
- chebyshev
- euclidean
- using a loop
- using recursion
- using shifts and multiplication
- using only shifts
- using logarithm
- using a loop
- using recursion
- using only shifts
- using logarithms
- Fast Fourier Transform
- recursive exponentiation
- fast recursive exponentiation
- fast modular recursive exponentiation
- is prime
- prime factorization
- sieve of eratosthenes
- Miller-Rabin test
- Co-Primes (relatively prime, mutually prime)
- Greatest Common Divisor
- using Euclid’s algorithm
- using recursion
- strings
- numbers
- add
- subtract
- multiply
- divide
- power
- Integers
- to binary String
- using divide and modulus
- using right shift and modulus
- using BigDecimal
- using divide and double
- using a loop
- using recursion
- using logarithm
- using bits
- to binary String
- using divide and modulus
- using right shift and modulus
- using BigDecimal
- addition
- subtraction
- multiplication
- absolute value
- polar value
- Find shortest path(s) in a Graph from a starting Vertex
- Dijkstra’s algorithm (non-negative weight graphs)
- Bellman-Ford algorithm (negative and positive weight graphs)
- Prim’s (undirected graphs)
- Kruskal’s (undirected graphs)
- Johnsons’s algorithm (negative and positive weight graphs)
- Floyd-Warshall (negative and positive weight graphs)
- Depth first search while keeping track of visited Verticies
- Connected Components
- Push-Relabel
- Depth First Traversal
- Breadth First Traversal
- Turbo Matching
- Get index of value in array
- Linear
- Quickselect
- Binary [sorted array input only]
- Lower bound [sorted array input only]
- Upper bound [sorted array input only]
- Optimized binary (binary until a threashold then linear) [sorted array input only]
- Interpolation [sorted array input only]
- Find longest common subsequence (dynamic programming)
- Find longest increasing subsequence (dynamic programming)
- Find number of times a subsequence occurs in a sequence (dynamic programming)
- Find i-th element in a Fibonacci sequence
- using a loop
- using recursion
- using matrix multiplication
- using Binet’s formula
- using a loop
- using Triangular numbers
- Reverse characters in a string
- using additional storage (a String or StringBuilder)
- using in-place swaps
- using in-place XOR
- using char swaps and additional storage (a StringBuilder)
- using StringTokenizer and additional (a String)
- using split() method and additional storage (a StringBuilder and String[])
- using in-place swaps
- using additional storage (a StringBuilder)
- using in-place symetric element compares
- Find in lexicographically minimal string rotation
- Find in lexicographically maximal string rotation
About
Algorithms and Data Structures implemented in Java
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Algorithms and Data Structures in Java
License
rampatra/Algorithms-and-Data-Structures-in-Java
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Algorithms and Data Structures in Java
The repo consists of solutions to numerous problems using different data structures and algorithms, all coded in Java. It also contains solutions to HackerRank problems which I have solved so far and questions from Cracking the Coding Interview Book (6th Edition).
You can also refer to my Java Notes for a quick refresh on the Java concepts or if you want a break from coding then can read about my interview experiences at various companies. Lastly, feel free to connect with me on Twitter for any queries or concerns. All the best!
Java version 1.8.0_172
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)IntelliJ IDEA 2018.1.4 (Ultimate Edition)
MacBook Pro
2.5 GHz Intel Core i7
16 GB 1600 MHz DDR3P.S. For any queries or concerns, you can reach out to me on Twitter. I’ll try my best to help 🙏 . And, if you’re keen to know what I’m currently working on then check out Presentify.
About
Algorithms and Data Structures in Java
- to binary String