双亲:i / 2; 右孩子:2 * i + 1; 是堆排序算法中用的特征。
如果i是左孩子,双亲节点编号为i/2,右孩子节点编号为2*i+1; 如果i是右孩子,双亲节点编号为(i-1)/2,由孩子节点编号为2*i+1;
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
注意这里与我们平时使用二叉树的习惯不一样,平时是以0开始编号的,这里是从1开始编号的。我们画一颗二叉树就可以得到这个规律:
1
2 3
4 5 6 7
可见第i个结点的双亲结点编号为 i/2 ,右孩子结点的编号为 2i+1 。