What does a heuristic function do?
it calculates the cost of an algorithm
it makes it possible to find the path of the lowest cumulative weight between a source and a destination
it associates with any node a pessimistic estimate of the cumulative weight of that node with a destination
it associates with any node an optimistic estimate of the cumulative weight of that node with a destination