我必须想出一个有效的算法,采用这种格式的树:
?
/ \
? ?
/ \ / \
G A A A
并用提供最少突变量的值填充问号节点。值只能是 {A, C, T, G}。树将始终具有相同的形状和数量的节点。此外,它总是会填充叶节点,其余节点将是需要填充的问号。
例如,右边的树是正确的,并且比左边的树具有更少的突变。
A A
/ \ / \
G G A A
/ \ / \ / \ / \
G A A A G A A A
当父节点与子节点不同时,就会发生突变。因此,左上方的树包含五个突变,而右上方有一个。
有人可以通过提供伪代码来帮助我吗?谢谢。