2016-05-27 3 views
3

私はこのようなネットワーク/ツリーを持っています。階層ツリー/ネットワークへのプログラムの割り当て

enter image description here

私は、このモデルを表現するために、バイナリツリーを使用していました。しかし、手動> 4.

レベルの煩雑になるノードのrightleftパラメータを割り当てることは、私はプログラム的

答えて

4

あなたが最初のノード場合の2次元配列を作成することができ、上記の割り当てを行うことが可能な方法があります行iはあなたの紙の上iのレベルに対応し、そしてカラムjはそのレベルでj番目のノードに対応する:

for i = 1 to n: 
    for j = 1 to i: 
     A[i][j] = new Node() 

そして、ノード間の関係は、A[i][j]ノード子供はA[i+1][j]で、右の子はA[i+1][j+1]です。

for i = 1 to n-1: 
    for j = 1 to i: 
     A[i][j].left = A[i+1][j] 
     A[i][j].right = A[i+1][j+1] 

for j = 1 to n: 
    A[n][j].left = null 
    A[n][j].right = null 
関連する問題