Generating random networks efficiently and accurately is an important challenge for practical applications, and an interesting question for theoretical study. This book presents and discusses common methods of generating random graphs. It begins with approaches such as Exponential Random Graph
Models, where the targeted probability of each network appearing in the ensemble is specified. This section also includes degree-preserving randomisation algorithms, where the aim is to generate networks with the correct number of links at each node, and care must be taken to avoid introducing a
bias. Separately, it looks at growth style algorithms (e.g. preferential attachment) which aim to model a real process and then to analyse the resulting ensemble of graphs. It also covers how to generate special types of graphs including modular graphs, graphs with community structure and temporal
graphs. The book is aimed at the graduate student or advanced undergraduate. It includes many worked examples and open questions making it suitable for use in teaching. Explicit pseudocode algorithms are included througho