我有一棵二叉树:
root
/ \
g h
/ \ / \
d a e f
/ \
b c
每个节点都有“seq”特性,它存储每个节点的dna序列('AACCGGT')
两个都是叶子的姐妹(b,c和e,f)各有一个分数(浮动) 我想要的是:
d.分数=最大(b.分数,c.分数)
e、f和h相同
这是我写的函数,但我不确定它是否符合我的要求,我不能测试它,因为我还没有align_trna函数
定义影响得分(n):
^{pr2}$我
谁能告诉我我是否在思考写作? 请注意,这是我第一次使用树数据结构和递归 提前谢谢你的建议
好吧,让我们重温一下递归。在
在执行递归函数时,首先要写的是“退出条件”(在某个时刻终止递归的东西)。 在您的例子中,exit条件应该引用树的叶节点,它应该类似于:
然后,对于其他每个节点,应进行计算:
^{pr2}$那么你还需要一个特殊的根条件,因为它没有任何姐妹:
最后应该是:
这就是我知道你想做的!您需要添加compare廑seq()方法,该方法应比较两个序列,并可能根据您的代码调整某些内容。但从理论上讲,这几乎是正确的。在
相关问题 更多 >
编程相关推荐