gpt4 book ai didi

java - 在构造函数中使用递归是不好的做法吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:30 25 4
gpt4 key购买 nike

<分区>

我正在实现 van Emde Boas 树,我遇到了在构造函数中使用递归非常有用的情况。

当我在树中创建根节点时,该节点将具有指向许多其他节点的指针,而这些节点将指向许多其他节点,依此类推。即使这些是用空数据初始化的,我仍然希望它们都在那里。

编辑:在回答评论时,我认为这可能是不好的做法,因为我们在分配内存时总是需要小心。在这种情况下,用户可能不知道分配新的此类节点可能产生的影响,因此他们可能会分配比预期更多的内存?除此之外,我认为在构造函数中分配内存似乎很奇怪/很危险。

代码递归地创建新节点,直到创建完整的树。这是一种不好的做法吗?如果是这样,是否有更好的方法在 Java 中实现?

//Constructor
public VEBNode(int universeSize)
{
this.universeSize = universeSize;
min = vEBTree.NULL;
max = vEBTree.NULL;

if(universeSize <= 2)
{
summary = null;
cluster = null;
}
else
{
int childUnivereSize = (int)Math.sqrt(universeSize);

summary = new VEBNode(childUnivereSize);
cluster = new VEBNode[childUnivereSize];

for(int i = 0; i < childUnivereSize; i++)
{
cluster[i] = new VEBNode(childUnivereSize);
}
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com