We present parallel algorithms to construct binary trees with almost optimal weighted path length. Specifically, assuming that weights are normalized (to sum up to one) and error refers to the (absolute) difference between the weighted path length of a given tree and the optimal tree with the same weights, we present an O (log n)-time and n (log log n/log n)-EREW-processor algorithm which constructs a tree with error less than 0.18, and O(k log n log* n)-time and n-CREW-processor algorithm which produces a tree with error at most 1/n(k), and an O(k(2) log n)-time and n(2)-CREW-processor algorithm which produces a tree with error at most 1/n(k). As well, we describe two sequential algorithms, an O(kn)-time algorithm which produces a tree with error at most 1/n(2k), and an O(kn)-time algorithm which produces a tree with error at most 1/2(n2k). The last two algorithms use different computation models.