Strongly Connected Components
In the previous chapters, we discussed several classifications of graphs. Among the most common ways of describing the characteristics of a graph is stating whether it is directed or undirected. The latter defines graphs in which the edges are bidirectional by default (if node A has an edge connecting to node B, then node B has an edge connecting to node A), while the former describes graphs with edges oriented toward specific 'directions'.
Imagine you are an employee for a video hosting website and are tasked with producing statistics about commonalities between subscribers to various channels. Your company is particularly interested in discovering patterns between the individuals who subscribe to certain channels and the subscriptions of the channels' respective owners, hoping to gain greater insight into how their targeted advertising service should be directed. The service your company provides has become rather expansive recently, so you need...