最佳答案
您可以首先创建一个二维节点数组,其中行 i
对应于您论文中的级别 i
,列 j
对应于该级别中的第 j
个节点:
for i = 1 to n:
for j = 1 to i:
A[i][j] = new Node()
那么,节点之间的关系是,A[i][j]
节点的左 child 是A[i+1][j]
,右 child 是A[i+1][j]
child 是 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
关于algorithm - 以编程方式将节点分配给分层树/网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473745/