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...
psjava is an open source library which contains implementations of algorithms and data structures