由于A的特殊性,下标为0,我们先把它放一边
假设左孩子是第N编号,则N-1为前面所有人数
假设前面有M个父亲,一个父亲两孩,简单想,前面共有3*M个人
但有人既当父亲又当孩子,显然只有①②只当父亲
故3*M减去M-2(重复计算)即前方总人数,即N-1==2*(M+1)
(M+1)就是下一个父亲的编号,leftchild=parent*2+1成立
右孩子同理易证,同时(N-1)/2==(M+1)成立。
由于A的特殊性,下标为0,我们先把它放一边
假设左孩子是第N编号,则N-1为前面所有人数
假设前面有M个父亲,一个父亲两孩,简单想,前面共有3*M个人
但有人既当父亲又当孩子,显然只有①②只当父亲
故3*M减去M-2(重复计算)即前方总人数,即N-1==2*(M+1)
(M+1)就是下一个父亲的编号,leftchild=parent*2+1成立
右孩子同理易证,同时(N-1)/2==(M+1)成立。