This can be achieved by also allowing 3-cuts of size 2, i.e., cutting two edges in G whose removal leads to three connected components. It is possible then to take two trees G and H, remove two disconnected pieces from both of them, and then form a (natural) join that introduces a cycle. The same operation also allows to convert CH2 to a carbonyl group (by crossover with water), to convert CH2 in a ring to a spiro-carbon by crossover with a 3-cut linear chain. Crossover of polycyclic compounds readily provides access to bridged compounds, see Fig. . These examples suggest that all molecular structures can be constructed by a sequences from degree-preserving crossovers from very simple building blocks. This is true in a rather strong sense: for bounded degree graphs, a uniformly bounded size population and a number of crossover operations linear in the size of the target graph is indeed sufficient. In order to prove this statement formally, we need the following notation and terminology: Let D be a finite set of integers such that 1 ∈ D and let S denote the search space comprising all loop-free connected graphs G such that all vertices x ∈ V (G) have degree deg(x) ∈ D. Moreover, we denote by T D the set of star trees S k with a central vertex of degree k ∈ D. Note that for k = 1, S 1 = K 2 , denotes the graph comprising two vertices connected with an edge. Proof. We proceed by induction in the number n ′ of "heavy" vertices x ∈ V (G) with degree deg(x) > 1. The statement is trivially true for all G ∈ T 0 and these are by construction the only graphs with a single vertex of degree larger than 1. The only connected graph without a vertex of degree larger than 1 is K 2 ∈ T 0 . Now let G be a connected arbitrary graph and suppose the statement is true for all graphs with n ′′ < n ′ heavy vertices. First suppose that G contains a cut vertex z. Then consider the graphs G 1 , G 2 , . . . G k , k ≥ 2, obtained by splitting G at the cut-vertex z such that (i) a copy of z is present in each G i , and (ii) the vertex degree of z is restored by adding an edge and vertex of degree (i). Then G can ob obtained by recombining the G i sequentially, such that Gi is composed of G 1 through G i for 1 ≤ i ≤ k. In particular, G1 = G 1 . In each step, we cut z and its degree-1 neighbors from the rest of G i , yielding a cut of size h. From Gi-1 we cut h degree 1 neighbors and then form the requisite join. By construction, Gk = G k , and by induction hypothesis each of the G j can be constructed in the bounded population. To reach G k , it thus suffices to keep Gi-1 in the population while constructing G i . The number of cut-and-join steps equals the number of components and thus at most the number of edges incident to the cut vertex.