Space-Filling Curves : An Introduction with Applications in Scientific Computing