Adaptive networks are well-suited to perform decentralized information processing and optimization tasks and to model various types of self organized and complex behavior encountered in nature. Adaptive networks consist of a collection of agents with processing and learning abilities. The agents are linked together through a connection topology, and they cooperate with each other through local interactions to solve distributed inference problems in real-time. The continuous diffusion of information across the network enables agents to adapt their performance in relation to changing data and network conditions; it also results in improved adaptation and learning performance relative to non-cooperative networks. This article provides an overview of diffusion strategies for adaptation and learning over networks.