  In this paper we describe an algorithm that embeds a graph metric $(V,d_G)$
on an undirected weighted graph $G=(V,E)$ into a distribution of tree metrics
$(T,D_T)$ such that for every pair $u,v\in V$, $d_G(u,v)\leq d_T(u,v)$ and
${\bf{E}}_{T}[d_T(u,v)]\leq O(\log n)\cdot d_G(u,v)$. Such embeddings have
proved highly useful in designing fast approximation algorithms, as many hard
problems on graphs are easy to solve on tree instances. For a graph with $n$
vertices and $m$ edges, our algorithm runs in $O(m\log n)$ time with high
probability, which improves the previous upper bound of $O(m\log^3 n)$ shown by
Mendel et al.\,in 2009.
  The key component of our algorithm is a new approximate single-source
shortest-path algorithm, which implements the priority queue with a new data
structure, the "bucket-tree structure". The algorithm has three properties: it
only requires linear time in the number of edges in the input graph; the
computed distances have a distance preserving property; and when computing the
shortest-paths to the $k$-nearest vertices from the source, it only requires to
visit these vertices and their edge lists. These properties are essential to
guarantee the correctness and the stated time bound.
  Using this shortest-path algorithm, we show how to generate an intermediate
structure, the approximate dominance sequences of the input graph, in $O(m \log
n)$ time, and further propose a simple yet efficient algorithm to converted
this sequence to a tree embedding in $O(n\log n)$ time, both with high
probability. Combining the three subroutines gives the stated time bound of the
algorithm.
  Then we show that this efficient construction can facilitate some
applications. We proved that FRT trees (the generated tree embedding) are
Ramsey partitions with asymptotically tight bound, so the construction of a
series of distance oracles can be accelerated.
