Enumerating connected subgraphs Is there an efficient algorithm to visit/enumerate all unique connected subgraphs of a labelled graph? 

E.g., when the graph is a path, $v_1v_2\dots v_N$, there are $N(N-1)$ unique connected graphs: for any $1\leq i&lt;j\leq N$, the subgraph $v_i\dots v_j$. For graphs with denser edge structure, the number of unique connected subgraphs can be as high as $2^{|V|}$ (for cliques).

Fortunately, graphs I'm interested in have a lot of articulation points, so the total number of unique connected subsets should be polynomial in the size of the input.

For those who are interested, I'm modeling a problem in protein mass-spectrometry. Starting from a protein (chain of amino acids, with occasional long-distance bonds due to disulphide bonds), I'd like to generate a database of all possible sub-species that may result from breaks in peptide and/or disulphide bonds.
As explained in enumerating all connected induced subgraphs (on TCS.SE), there is an algorithm whose running time is polynomial in the number of connected subgraphs.  Therefore, if you know that the number of connected subgraphs is polynomial in the input size, there is an algorithm that is polynomial in the size of the input.  The polynomial might be fairly high degree, so I don't know whether the algorithm will be efficient in practice, but you could try it out and see.

See also https://stackoverflow.com/q/15658245/781723.