||A point set is extremal if and only if the points lie on the boundary of a rectilinear convex hull of the point set [l0]. For an extremal point set of size n, the problem of constructing an optimal rectilinear Steiner tree was first shown to be solvable in ο(n[to the power of 6]) time by Provan . Later, Bern , and Erickson  developed a faster algorithm that runs in ο(n[to the power of 5]) time. Richards and Salowe [l0] developed an improved algorithm and solves the problem in ο(k[to the power of 4]n), where k is the number of sides of the rectilinear convex hull. Cheng et al.  observed a common substructure which often appears in an optimal Steiner tree and developed a dynamic programming algorithm that runs in ο(n[to the power of 3]) . In the worst-case scenario, an extremal point set can have θ(n) boundary edges. So the algorithm in  has a better asymptotic time complexity than the algorithm given by Richards and Salowe. In this thesis, we make use of some of the results in  and [l0] and redesign a dynamic programming algorithm that runs in ο(k2n) time. Thus our algorithm has the best asymptotic time complexity known for the problem.