c# implementation of A* algorithm with k-regual heap