In this paper, by allocating the limited subchannel resources based on interference alignment (IA) with clustering to mitigate the severe co-tier interference in dense small cell networks (SCNs), we aim at maximizing the number of data streams achieved by all small cell user equipments (SUEs) while guaranteeing the data stream requirement for each SUE. As the corresponding optimization problem is NP-hard, we propose a two-phases algorithm based on graph theory to obtain a suboptimal but efficient solution, which requires much lower complexity and notably reduced feedback overhead. In the first phase, all SBS-SUE pairs are grouped into disjoint clusters by the recursive partition of the constructed graph, where the edge weight is only determined by the path losses from small cell base stations (SBSs) to SUEs, so the estimation of perfect global channel state information (CSI) is avoided. Furthermore, when guaranteeing that IA is feasible within each cluster, the number of formed clusters and the size of each cluster are determined by the distributions of dense SCNs instead of being specified. In the second phase, by further treating each cluster as a new vertex, graph coloring algorithm is proposed for subchannel allocation, which only requires to estimate the perfect CSI within each cluster. The analysis of computational complexity demonstrates that the proposed two-phases algorithm has a much lower complexity compared with the optimal solution obtained by the exhaustive search. Numerical results show that the proposed solution outperforms other related schemes and exhibits a performance close to the optimal solution. INDEX TERMS Clustering, data streams, dense small cell networks (SCNs), graph coloring, graph partitioning, interference alignment (IA), subchannel allocation.