Polytopes, combinatorics and complexity in computational topology