2016-05-13 3 views
-4

私は、各ノードが自分の子のリストを持つツリーを作成しました。ですから私の質問は次のようなものです:私はどのように私の木のレベルの数を計算できますか?誰も私にこのことに関するいくつかの文書を与えることができますか?ありがとうございました :)。レベルのツリー

+2

何を試しましたか?コードがありますか? – Pierre

+0

まずコードを記入してください。 – fluter

+2

計算では、レベルの数は、すべてのレベルの深さ、平均深さ、それをループするときの深さ、または子供1人あたりの深さを意味しますか?あなたはもっと具体的にする必要があります – Bauss

答えて

0

この問題を解決する方法はさまざまです。 1つの解決策は、カウンタ変数を使用してノードをカウントし、リーフノードが到達するまでカウンタをインクリメントすることである。しかし、あなたは世話をする必要があります

各ノードに子供のリストがある場合、ルートノードにあるこのリストを通してノードを数えます。

非常に適切な方法は、構造体ノード

typedef struct node { 
... 
Other members 
... 
int node_level; 
} NODE; 

に名前レベルによって変数を定義し、ルートまたは他の任意のノードが作成されるとき1で初期化することであろう。次に、ツリーに挿入するたびにその値を更新します。

これを行うと、必要なときにいつでも子ツリーのレベルを確認できます。また、挿入された各ノードにはレベル1があり、その祖先にはより大きなレベルがあることにも注意してください。

関連する問題