Can anyone point me to some good Java library (jar) that has some more data structures other than what comes as part of standard Java language. I want support for things like - Tuple, Pair, Tries, Binomial/Fibonacci trees and may be Graphs. [Yes, I know writing them on my own will be lot of fun, but I am reluctant to reinvent the wheel right now]
I am not aware of any single Java library that contains all of those components. There is however a very good library called JGraphT which provides a very nice and comprehensive API for graphs in Java. It also includes some structures that are related to that such as a FibonacciHeap class. They also have a very comprehensive JavaDoc. The feature list from the JGraphT website lists:
- directed and undirected graphs.
- graphs with weighted / unweighted / labeled or any user-defined edges.
- various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs.
- unmodifiable graphs - allow modules to provide "read-only" access to internal graphs.
- listenable graphs - allow external listeners to track modification events.
- subgraphs graphs that are auto-updating subgraph views on other graphs.
- all compositions of above graphs.
The prefuse library/framework has most (all? maybe not pair) of those, even though it's a visualization library (and a really nice one at that).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With