我搜索了一下,仍然无法找到答案。
我正在计算 distances between tree nodes
的公式,在我的测试用例中,我的公式采用 node i
中的叶数,以及将其除以 node i
中的叶数+ node j
中的叶数。
这些给我1 and 2 respectively
,因为 i
和 j
各有一片叶子。
我的问题是当我将1除以2时,我得到零。
所有这些数字都是双打的,所以我不知道问题是什么。 。
这是我的代码:
formula1 = ((newNode.getLeftChild().getNumLeafs()) / (newNode.getLeftChild().getNumLeafs() + newNode.getRightChild().getNumLeafs()));
答案 0 :(得分:1)
试试这个:
formula1 = ((double)(newNode.getLeftChild().getNumLeafs()) / (double)(newNode.getLeftChild().getNumLeafs() + (double)newNode.getRightChild().getNumLeafs()));
getNumLeafs()
可能返回一个int值