Efficient emulations provide general methods to convert algorithms designed on a network into algorithms on smaller networks (with the same interconnection structure). In this paper, an optimal emulation for trees is proposed. With a slight modification, our emulation can be applied to X-trees without loss any efficiency. By the strategy of our emulation, optimal emulations for m-ary trees and pyramids can be obtained. An extended problem of the emulation problem on trees is to emulate a weighted tree, in which every node is associated with a weight, by a smaller tree. In this paper, we also consider the extended problem and show that the problem is NP-hard.