When to use Djikstra or Bellman-Kallaba algorithm?
Dijkstra's algorithm is faster (more efficient) than Bellman-Ford for graphs where it is applicable, i.e., for graphs where all edge weights are non-negative.  This is one such graph, as the cost of a bookshelf can never be negative.  Therefore, for this graph, Dijkstra's algorithm is better than Bellman-Ford.

(Incidentally, that answer is the accepted answer because you accepted that one.)