Given an edge-weighted tree T, a k-trunk is a subtree Tk with k leaves in T which minimizes the sum of the distances of all vertices in T from Tk plus the weight of Tk. In this paper, we first give motivation for using a k-trunk in tree networks. Then we develop efficient algorithms for finding a k-trunk of T. The first algorithm is a sequential algorithm which runs in O(n) time, where n is the number of vertices in T. The second algorithm is a parallel algorithm which runs in O(log n) time using O(n/ log n) processors on EREW PRAM model.