Although I quoted Meggido's 32-yr-old LP algorithm in the comments,
a simpler-to-implement randomized algorithm has expected linear time and space complexity,
and is the most common implementation,
e.g., as cited below the figure.
<hr />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
![EnclosingCirc][1]
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
<sup>
(Image from [code.project.com](http://www.codeproject.com/Articles/22568/Computational-Geometry-C-and-Wykobi).)
</sup>
<hr />
A clear description of this algorithm may be found in this
lecture prepared by Marc van Kreveld and Maarten Loffler: [PDF slides download](http://www.cs.uu.nl/docs/vakken/ga/slides4b.pdf).

CGAL implements both a heuristic algorithm,
and the LP algorithm, in $\mathbb{R}^d$: [CGAL implementation](http://doc.cgal.org/latest/Bounding_volumes/classCGAL_1_1Min__sphere__of__spheres__d.html).


  [1]: https://i.sstatic.net/qnFHO.png