Efficient Algorithms and Applications in Topological Data Analysis