I have published code for some general algorithms implemented in Java. Most of this work was done as part of the Algorithm and Complexity Theory (MID170) course at the University of Stavanger. The general algorithms umbrella covers most algorithms, but with a slight emphasis on flexibility and performance.
The first revision contains:
- Dijkstra’s shortest path algorithm
- Kruskal’s MST algorithm (incomplete)
- Stable in-place quicksort
- Union find for locating the k-th smallest key (not complete at all)
- Sequence union for merging two sorted sequences into a set
You can grab a copy of the first release at the end of this post or you may fetch the smoking fresh, bleeding edge, bug ridden, latest revision directly from the Subversion (SVN) repository by the magic of the command line client:
svn checkout svn://svn.podzone.org/svnroot/algorithms/trunk trunk
If you prefer a GUI client I recommend TortoiseSVN (Windows), RapidSVN (Windows, Linux, Mac) and Subversive (Eclipse plugin). You may also browse the latest and greatest code from the online FishEye repository viewer which provides a more developer oriented overview.
I welcome improvements that makes the algorithms more efficient or generally easier to use as long as the changes are relatively comprehensible. Hopefully more comprehensible than it currently is.
NOTE: This post has been imported from my old it’s learning ePortfolio project blog.