Differentiate between K-means clustering and hierarchical clustering?

The K-means clustering and Hierarchical Clustering both are the machine learning algorithms. Below are some main differences between both the clustering:

K-means clusteringHierarchal Clustering
K-means clustering is a simple clustering algorithm in which objects are divided into clusters.Hierarchal clustering shows the hierarchal or parent-child relationship between the clusters.
In k-means clustering, we need prior knowledge of k to define the number of clusters which sometimes may be difficult.In hierarchal clustering, we don’t need prior knowledge of the number of clusters, and we can choose as per our requirement.
K-means clustering can handle big data better than hierarchal clustering.Hierarchal clustering cannot handle big data in a better way.
Time complexity of K-means is O(n) (Linear).Time complexity of hierarchal clustering is O(n2)(Clustering).