heap_[i].first
. Будет даже чуть чуть быстрее.(i-1)/2
даст 0, для 3 и 4 - 1. Точно также в вашей реализации кучи действует getParentIndex. g++ dijkstra.cpp -O2 -Wall -std=c++14 -static-libgcc -static-libstdc++ -o dijkstra.exe
dijkstra.exe <input.txt
.1 2
2 3
1 3
this.indexes.set(this.heapContainer[indexOne], indexOne);
this.indexes.set(this.heapContainer[indexTwo], indexTwo);
this.indexes.set(this.heapContainer[0], 0);
indexes[heapContainer[indexToRemove]] = indexToRemove;
сделать.
Но правильно ли работает? Я не понимаю, что там в get_path за алгоритм. Что-то среднее между BFS и дейкстрой. Проверьте, что путь такой же как прошлая версия выдает.