psjava - Java Algorithm Library for Problem Solving

psjava is a collection of implementations of algorithms and data structures.

psjava is designed to provide flexibility and customizability. For example, you can choose heap implementation for Dijkstra's Algorithm. And also you can run it with a graph which has any weight number system, like 32bit integer or even BigInteger. See the detail in Dijkstra Algorithm Example

Download

Download jar file or use maven. psjava requires Java 1.6 (or above)

<dependency>
    <groupId>org.psjava</groupId>
    <artifactId>psjava</artifactId>
    <version>0.1.19</version>
</dependency>

Previous releases can be downloaded from here.

Getting Started

See some simple example : Dijkstra Algorithm, Memoization

Algorithms

Keyword
Bellman Ford Algorithm
Binary Search
Breadth First Search
Bubble Sort
Cycle Detection
Depth First Search
Determining Point On Segment
Dijkstra Algorithm
Edmonds Karp Algorithm
Finding Negative Cycle
Floyd Warshall Algorithm
Ford Fulkerson Algorithm
Great Common Divisor
Hopcroft Karp Algorithm
Insertion Sort
Johnson Algorithm
Konig Theorem
Kruscal Algorithm
Lowest Common Ancestor
Maximum Bipartite Matching
Maximum Flow
Memoization
Merge Sort
Minimum Spanning Tree Algorithm
Minimum Vertex Cover In Bipartite Graph
Number Of Connected Components
Number Of Trailing Zeros In Factorial
Prim Algorithm
Quicksort
Range Minimum Query
Rooted Tree Tester
Shortest Path Algorithm
Sieve Of Eratosthenes
Sorting Algorithm

Data Structures

Keyword
Array
Binary Heap
Disjoint Set
Dynamic Array
Intersection Of Two Sets
Number System
Queue
Rooted Tree
Segment Tree
Segment Tree With Lazy Propagation
Set
Stack
Trie

License

The MIT License (MIT). See full version

Contact

Email : psjava.leader@gmail.com


Copyright 2014 psjava team. View on GitHub