This paper introduces a novel quartet-based algorithm. The algorithm first calculates the likelihood values of the three possible resolved trees for each quartet and transforms them into three posterior probabilities (or quartet weights), and then it accumulates quartet weights to generate a global quartet-weight matrix. Using the topological information provided by the matrix, it recursively merges small sub-trees to larger ones until the final tree is obtained.