1) It mutates vertices of the graph, which makes it impossible to parallelize path finding in a safe manner.
2) It uses quite slow linear search with O(n) complexity to find next vertex with lowest price. This can be improved by using binary tree with O(log n) complexity.
Current implementation has few major drawbacks:
1) It mutates vertices of the graph, which makes it impossible to parallelize path finding in a safe manner. 2) It uses quite slow linear search with O(n) complexity to find next vertex with lowest price. This can be improved by using binary tree with O(log n) complexity.