In general the most common approach, the one that is used in computer graphics to go through an arbitrary set of points, is cubic splines. Between each pair of points is a different cubic polynomial ##y = a_0 + a_1 x + a_2 x^2 + a_3 x^3## with different coefficients. There are four free coefficients on each segment which are chosen so that the curves pass through the points and also meet smoothly.
For a complex curve, you'd use separate splines for the real and imaginary parts. I've done that on a number of occasions in fact.
Similarly, for a curve that doubles back on itself like a circle or something more complicated, you would use separate cubics for ##x## and ##y##.
There are infinitely many smooth curves that go through a given set of points, since you aren't restricting what happens between those points. But cubic splines usually give a natural looking curve, one that follows the points in a way you would expect.