Graphs and networks are ubiquitous representations of computer, biological and social systems. In this book we study characteristic properties of networks that can help us to understand the systems they represent. Specifically, we study patterns of correlations between connected nodes in a network and provide mechanistic explanations for the origins of such correlations. We will show that computer, biological and social networks have some commonalities among them. On the other hand, they also have distinctive features, which are reflected in the patterns of correlations between connected nodes in the network. Finally, we will show these correlations can affect the behavior of different processes taking place on networks, such as the spreading of computer viruses, infectious diseases, or the association between genes and biological function.