Given a graph with n vertices, k terminals and positive integer weights not larger than c, we compute a minimum STEINER TREE in O (2 k c) time and O (c) space, where the O notation omits terms bounded by a polynomial in the input-size. We obtain the result by defining a generalization of walks, called branching walks, and combining it with the Inclusion-Exclusion technique. Using this combination we also give O (2 n )-time polynomial space algorithms for DEGREE CONSTRAINED SPANNING TREE, MAXIMUM INTERNAL SPANNING TREE and #SPANNING FOR-EST with a given number of components. Furthermore, using related techniques, we also present new polynomial space algorithms for computing the COVER POLYNO-MIAL of a graph, CONVEX TREE COLORING and counting the number of perfect matchings of a graph.