Algorithm 以编程方式将节点分配到分层树/网络
我有一个网络/树,看起来像这样 我用二叉树来表示这个模型。但是,对于级别>4,手动分配节点的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
右侧
和左侧
参数会变得很麻烦
有没有一种方法可以让我通过编程来完成上述任务您可以首先创建一个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