Federated Learning: A Comprehensive Overview of Methods and Applications