我需要在java中实现一棵二叉树,其中右节点的值是用function1()计算的,它以父节点的父节点和父节点作为输入,左节点的值是用function2()计算的,它采用父节点作为输入。(对于前两个子节点,父节点的值和父节点的值是预先确定的)节点被填充各自函数的返回值,直到其中一个节点具有程序正在寻找的值。如果函数在某个点产生期望值,我们需要打印到该节点的路径,即函数产生期望值的顺序。如果使用给定函数无法获得该值,则我们打印出“false”
你能告诉我实现这个算法的最佳方法吗?
编辑:让我们假设: 1. function1 是:
int function1(p_node.value, p_node.p_node.value)
{ `return 5*p_node.value+6*p_node.p_node.value;}
2:函数2是:
int function2(p_node.value){
return 5*p_node;}
然后,
node.right_node.value=function1(node.p_node.value, node.p_node.pnode.value)
if(node.right_node.value==desired_output) "print path_to_the_node"
node.left_node.value=function2(node.p_node.value);
if(node.left_node.value==desired_output) "print path_to_the_node"