你好,
为了解决这个问题,您可以创建一个副本
old_tree
之前修改它,然后将修改后的树分配给新的副本。
这是一个通过改变更新代码
set_subtree
函数如果指数等于交叉点:
如果idx = = crossover_point
%老树的创建一个副本
new_tree = old_tree;
%替代交叉点的子树
new_tree。我孩子{}=子树;
返回
结束
在这个更新版本,
new_tree
被初始化为一个副本的
old_tree
子树之前取代指定的交叉点。这将确保
new_tree
不是简单的引用吗
old_tree
,但一个新副本,包括修改的子树。
问候,
Rishav萨哈