Combinatorics is the study of finite or discrete collections of objects that satisfy specified criteria. In particular, it is concerned with "counting" the objects in those collections (enumerative combinatorics) and with deciding whether certain "optimal" objects exist (extremal combinatorics). It includes graph theory, used to describe interconnected objects (a graph in this sense is a network, or collection of connected points). See also the list of combinatorics topics, list of graph theory topics and glossary of graph theory. A "combinatorial flavour" is present in many parts of problem solving.