Heuristic (computer science)

In computer science, besides the common use as "rule of thumb" (see heuristic), the term heuristic has two well-defined technical meanings. It can either be any algorithm that gives up finding the optimal solution for an improvement in run time or it can be a function that estimates the cost of the cheapest path from one node to another.