To maximize network lifetime in Wireless Sensor Networks (WSNs) the paths for data transfer are selected in such a way that the total energy consumed along the path is minimized. To support high scalability and better data aggregation, sensor nodes are often grouped into disjoint, non overlapping subsets called clusters. Clusters create hierarchical WSNs which incorporate efficient utilization of limited resources of sensor nodes and thus extends network lifetime. The objective of this paper is to present a state of the art survey on clustering algorithms reported in the literature of WSNs. Our paper presents a taxonomy of energy efficient clustering algorithms in WSNs. And also present timeline and description of LEACH and Its descendant in WSNs.