a heuristic search algorithm that attempts to find a desired goal using a heuristic function to estimate the distance from a given node to the goal.
abstract data type
a description of operations on a data type that could have multiple possible implementations.
describes a graph with no cycles (circular paths).
a representation of a graph in which each node has a list of nodes that are adjacent to it, i.e. connected to it by an arc.
in a tree, the union of a node's parent and the parent's ancestors.
a link between two nodes in a graph.
a contiguous block of memory containing elements of the same type, accessed by numeric index.
a list of pairs, where each pair has a key and a value associated with the key.
a self-balancing sorted binary tree, in which the heights of subtrees differ by at most 1.