私は短いNTNクラスによって定義されたn-aryツリーを持っています
public class NTN P {
public int value;
public Set<NTN> children;
}
そのようなn-aryツリーの最大値を見つけたいと思います。値が次の単純な整数n-aryツリーであるとしましょう:[親:1子:2、3、4] [親:2子:5、6] [親:4子7、8、9]最大値は単純に9になります。プロトタイプで最大値を見つけるためのメソッドを書き始める方法がわかりません。
public static int maximum(NTN t);
私が試したことから:
public static int maximum(NTN t) {
int max = 0;
for (NTN e : t.children) {
if (e.value > max)
max = e.value;
}
return max;
}
上記のコードは最大4を返します。これは、tの子のみをチェックし、後続の子のセットはチェックしないことを意味します。この場合、4、[7,8,9]および2、[5,6]の子セットはチェックされません。メソッドが後続のすべての子の最大値を検出するように変更するにはどうすればよいですか?