This repository contains all the source code for my first blog post.
These files are:
- dijkstra.markdown is the blog post
- dijkstra.cc is my own implementation of Dijkstra's algorithm using boost::heap
- dijkstra_bgl.cc is based on the Boost Graph Library
- dijkstra_lemon.cc is the COIN-OR Lemon Graph Library implementation (you can use it with both Fibonacci and Binary heap)
- dijkstra_or-tools.cc is the Google OR-Tools implementation
- confg.mac is used to set the paths to the different libraries
- Makefile ... you should know about it
- run_tests.bash is the bash script I have used to run all the tests (you have to set a PATH_DATA variable if you like to use this script)
- results.py is a python script to elaborate the logs files in simple text tables
- logs is a directory with the details of my runs that I used to write the blog entry
- small.dat a micro graph to test the everything work as it should
- dimacs2plain.py and plain2dimacs.py two micro script to convert file from plain format to dimacs, and viceversa.
The graph text files are available as a unique .tar.gz file of 333MB at this link.