| Term 
 | Definition 
 
        | an element of a linked list, tree, or graph, often represented by a data structure. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a runtime error that occurs when an operation such as a method call is attempted on a null pointer. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a data structure that can be identified at runtime as being a member of a class. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | describes a sorting algorithm that can process items one at a time. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | describes a mapping in which each element of the domain maps to a single element of the range. Also, injective. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | describes a mapping in which each element of the range is the target of some element of the domain. Also, surjective. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a description of the kinds of objects that exist in a computer program, e.g. a Java class hierarchy. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | in a search tree, a program that changes a state into a child state, e.g. a move in a game. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | in a tree, a node that points to a given node. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | analysis of a sentence of a language to determine the elements of the sentence and their relationship and meaning. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a sequence of steps along arcs in a graph. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a representation of a class of objects, containing some constant elements in relation to variable elements. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a part of a pattern that can match variable parts of an input. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | in Quicksort, a "center" value used in partitioning the set to be sorted. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a variable containing the address of other data. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an order of processing a tree in which the parent node is processed after its children. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a function that returns True or False. In Lisp, {\tt nil} represents False, and anything else represents True. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an order of processing a tree in which the parent node is processed before its children. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a queue in which the highest-priority elements are removed first; with a priority value, the earliest arrival is removed first. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | O(n2), a problem whose solution requires a quadratic amount of time or space if the problem is of size n. |  | 
        |  |