Adaptive Client Clustering for Efficient Federated Learning over Non-IID and Imbalanced Data