Complex gene regulatory networks, not individual genes, control cellular function. Genes and gene products act together to determine cellular phenotypes. Estimation of these networks is necessary to understand cellular mechanisms, detect differences in gene regulation between cell types, and predict cellular response to interventions. A plethora of algorithms have been developed to infer network structure from experimental data. Here we provide a general introduction to the estimation of gene regulatory networks and the classes of proposed algorithms.