Given a solution x* and an a priori estimated cost vector c, the inverse optimization problem is to identify another cost vector d so that x* is optimal with respect to the cost vector d and its deviation from c is minimum. In this paper, we consider the inverse spanning tree problem on an undirected graph G = (N, A) with n nodes and m arcs, and where the deviation between c and d is defined by the rectilinear distance between the two vectors, that is, L1 norm. We show that the inverse spanning tree problem can be formulated as the dual of an assignment problem on a bipartite network G0 = (N0, A0) with N0 = N1 ∪ N2 and A0 ⊆ N1 × N2. The bipartite network satisfies the property that |N1| = (n − 1), |N2| = (m − n + 1), and |A0| = O(nm). In general, |N1| ≪ |N2|. Using this special structure of the assignment problem, we develop a specific implementation of the successive shortest path algorithm that runs in O(n3) time. We also consider the weighted version of the inverse spanning tree problem in which the objective function is to minimize the sum of the weighted deviations of arcs. The weighted inverse spanning tree can be formulated as the dual of the transportation problem. Using a cost scaling algorithm, this transportation problem can be solved in O(n2 mlog(nC)) time, where C denotes the largest arc cost in the data. Finally, we consider a minimax version of the inverse spanning tree problem and show that it can be solved in O(n2) time.