Class SingleNodeCrossover<G extends TreeGene<?,G>,C extends Comparable<? super C>>

All Implemented Interfaces:
Alterer<G,C>

public class SingleNodeCrossover<G extends TreeGene<?,G>,C extends Comparable<? super C>> extends TreeCrossover<G,C>
Swaps two, randomly chosen, nodes (subtrees) from two given trees.
 
     Tree A                 Tree B
   0                      a
   ├── 1                  ├── b
   │   ├── 4              │   ├── e
   │   └── 5              │   └── f
   ├── 2                  ├── c
   │   └── 6              │   └── g
   └── 3                  └── d
       ├── 7                  ├── h
       │   ├── 10             │   ├── k
       │   └── 11             │   └── l
       ├── 8                  ├── i
       └── 9                  └── j

     Swap node "3" of A with node "c" of B

   0                      a
   ├── 1                  ├── b
   │   ├── 4              │   ├── e
   │   └── 5              │   └── f
   ├── 2                  ├── 3
   │   └── 6              │   ├── 7
   └── c                  │   │   ├── 10
       └── g              │   │   └── 11
                          │   ├── 8
                          │   └── 9
                          └── d
                              ├── h
                              │   ├── k
                              │   └── l
                              ├── i
                              └── j
  
Since:
3.9
Version:
5.0