This chapter introduces some of the fundamental concepts of numerical network calculations. The chapter starts with a discussion of basic concepts of computational complexity and data structures for storing network data, then progresses to the description and analysis of algorithms for a range of network calculations: breadth-first search and its use for calculating shortest paths, shortest distances, components, closeness, and betweenness; Dijkstra's algorithm for shortest paths and distances on weighted networks; and the augmenting path algorithm for calculating maximum flows, minimum cut sets, and independent paths in networks.