Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 以编程方式将节点分配到分层树/网络_Algorithm_Data Structures_Graph - Fatal编程技术网

Algorithm 以编程方式将节点分配到分层树/网络

Algorithm 以编程方式将节点分配到分层树/网络,algorithm,data-structures,graph,Algorithm,Data Structures,Graph,我有一个网络/树,看起来像这样 我用二叉树来表示这个模型。但是,对于级别>4,手动分配节点的右侧和左侧参数会变得很麻烦 有没有一种方法可以让我通过编程来完成上述任务您可以首先创建一个2D节点数组,其中行I对应于您论文中的级别I,列j对应于该级别的j-th节点: 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] f

我有一个网络/树,看起来像这样

我用二叉树来表示这个模型。但是,对于级别>4,手动分配节点的
右侧
左侧
参数会变得很麻烦


有没有一种方法可以让我通过编程来完成上述任务

您可以首先创建一个2D节点数组,其中行
I
对应于您论文中的级别
I
,列
j
对应于该级别的
j
-th节点:

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