[computing] In computer science, an algorithm that incorporates a shortcut or simplification for solving a programming problem, such as searching. While a heuristic may run faster than a more rigorous algorithm, there is no guarantee that it will find the best solution.
[mathematics] In graph theory, a function used to determine the lowest cost or shortest path between two given nodes in a tree.