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;
сделать.if (!distances.get(child[0]) || distances.get(child[0]) > newdistance)