私の脳に食い込む何かがあります: 次のツリーの深さはどのようにできますか?
b
/ \
a c
be 3
、最も引用されたアルゴリズムの後に (ここでは Java で):
int depth(Node n)
{
if(n == null)
{
return 0;
}
int lDepth = depth(n.left);
int rDepth = depth(n.right);
return 1 + ((lDepth > rDepth) ? lDepth : rDepth);
}
単一の (ルート) ノードのみを持つツリーの深さが、0
ウィキペディアと、深さが最も深いノードへのパスの長さとして定義されている他の多くのソースによると? 明らかに、ノードが 1 つしかないツリーの最も深いノードへのパスの長さは ですが0
、上記のアルゴリズムでは よりも小さいものは決して得られません1
。
単一のルート ノードを持つツリーの深さですか0
、それとも1
ですか? そうである場合0
、上記のアルゴリズムは不完全1
です。
そんな些細なことが裏返しになるとは思いもよりませんでした。