Let us see one by one :
One invocation (usage) of Dijkstra's Algo takes O(( |V| + |E| ) log V) time and we know |E| = O(V2) ..So we can rewrite it as O( V2 log V) .. So V invocations will take O( V3 log V) which will be the complexity of finding all pair shortest path using Dijkstra's Algorithm.
Now coming to Bellman ford..For single source shortest path and hence single invocation we need O(VE) time = O(V3) time..So for all pair shortest path we take V * O(V3) = O(V4) time..
Now coming to Floyd Warshalls algorithm we need O(V3) time for the same problem of finding all pair shortest path..
Hence 3) is the best option as it takes least time..
Hence D) is the correct answer..