1. Implement a TAD Graph, with a function to obtain a minimum spanning tree (using Kruskal's algorithm with with make_set, union and fusion methods.).
2. Apply the TAD Graph to study the communities that can be obtained from a dataset on profiles and circles (friends lists) on Facebook ([login to view URL]); for this you will need:
a) develop a hierarchical clustering algorithm;
b) create the (sub)graphs for each cluster;
c) use NetworkX ([login to view URL]) to study sub-communities in each community
(represented by a graph).