Performance analysis of machine learning and deep learning algorithms for smart cities: the present state and future directions