0
我試圖確定m-tree樹中的所有節點是否已滿。我認爲我有了一般想法,但我不確定。這是我迄今爲止所做的。確定樹中的某個節點是否已滿
在我的TreeNode類中,我有以下方法。
public class TreeNode
{
private String label;
private String message;
private TreeNode[] nodes;
private int numChildren;
private TreeNode parent;
private String prompt;
***other methods and constructors***
public boolean isFull()
{
for(int i = 0; i < numChildren; ++i)
{
if(nodes[i] == null)
return false;
}
return true;
}
其中numChildren的是總的可能的兒童在陣列節點[](或只是nodes.length)和節點[]數爲當前節點的所有子節點的數組。 另外,知道我的TreeNodes是雙向鏈接可能會有幫助,所以如果需要的話,我可以檢索當前節點的父節點。
然後,在我的Tree類中,我有以下遞歸方法。
public boolean allNodesFull(TreeNode n)
{
boolean allFull = false;
if(!n.isFull())
{
return allFull;
}
for (int i = 0; i < n.getNumChildren(); ++i)
{
allFull = allNodesFull(n.getChild(i));
}
return allFull;
}
現在是這樣的'allFull'永遠不能'真'。 – jlordo
那是什麼樹? –