Computational Topology by Herbert Edelsbrunner & John L. Harer