In this paper, we consider a permutation as acting on an arbitrary tree with vertices (labeled ). Each edge of corresponds to a transposition , and such a “tree of transpositions” forms a minimal generating set for . If , then may be written as a product of transpositions from . We will refer to such a product as a -factorization of of length . The primary purpose of this paper is to describe an algorithm for producing -factorizations of . Although the algorithm does not guarantee minimal factorizations, both empirical and theoretical results indicate that the factorizations produced are “nearly minimal”. In particular, the algorithm produces factorizations that never exceed the known upper bounds.