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