  We consider the problem of augmenting an $n$-vertex tree with one shortcut in
order to minimize the diameter of the resulting graph. The tree is embedded in
an unknown space and we have access to an oracle that, when queried on a pair
of vertices $u$ and $v$, reports the weight of the shortcut $(u,v)$ in constant
time. Previously, the problem was solved in $O(n^2 \log^3 n)$ time for general
weights [Oh and Ahn, ISAAC 2016], in $O(n^2 \log n)$ time for trees embedded in
a metric space [Gro{\ss}e et al., {\tt arXiv:1607.05547}], and in $O(n \log n)$
time for paths embedded in a metric space [Wang, WADS 2017]. Furthermore, a
$(1+\varepsilon)$-approximation algorithm running in $O(n+1/\varepsilon^{3})$
has been designed for paths embedded in $\mathbb{R}^d$, for constant values of
$d$ [Gro{\ss}e et al., ICALP 2015].
  The contribution of this paper is twofold: we address the problem for trees
(not only paths) and we also improve upon all known results. More precisely, we
design a {\em time-optimal} $O(n^2)$ time algorithm for general weights.
Moreover, for trees embedded in a metric space, we design (i) an exact $O(n
\log n)$ time algorithm and (ii) a $(1+\varepsilon)$-approximation algorithm
that runs in $O\big(n+ \varepsilon^{-1}\log \varepsilon^{-1}\big)$ time.
