Community structures are crucial topological characteristic of complex networks. Consequently, network community structure mining has great significance to the real world. Complex networks have both hierarchy and overlaps, but it is still a problem to excavate the hierarchy and overlaps of networks efficiently and accurately at the same time by algorithm. This paper proposes an efficient and functional complex network community partition algorithm by combining fitness function optimization and community similarity, which can uncover both overlapping and hierarchical community structure of complex networks. Its basic idea is to use fitness function optimization at the bottom of hierarchy division to identify efficiently and accurately the underlying community structure which is with overlaps. Hierarchical structure is based on the community similarity to merge the underlying sub-communities with the principle of maximum similarity circulation. The experimental results utilizing Karate Club Network and US college football network show that the proposed algorithm is a manageable and accurate method for not only discovering the gradation community structure, but also overlap between excavated club.