"There is no problem in all mathematics that cannot be solved by direct counting."-Ernst Mach
Combinatorics is a branch of pure mathematics concerning the study of discrete (and usually finite) objects. It is related to many other areas of mathematics, such as algebra, probability theory, ergodic theory and geometry, as well as to applied subjects in computer science and statistical physics. Aspects of combinatorics include "counting" the objects satisfying certain criteria (enumerative combinatorics), deciding when the criteria can be met, and constructing and analyzing objects meeting the criteria, finding "largest", "smallest", or "optimal" objects (as in combinatorial designs, extremal combinatorics and combinatorial optimization), and finding algebraic structures these objects may have (algebraic combinatorics).
The following resources are undeveloped; some are little more than stubs: