ACM格式构造⼆叉树输⼊⽤例其输⼊⽤例,就是⽤⼀个数组来表述⼆叉树(即⽤⼆叉树的顺序存储来表述输⼊⽤例),如下: 登封教研网
看图就易知: 如果(⼀个)⽗节点的数组下标是i,那么它的左孩⼦下标就是i * 2 + 1,右孩⼦下标就是 i * 2 + 2。 下地岛
如果(⼀个)⽗节点在第层的第个节点,。则其左⼦节点是第层的第个节点;其右⼦节点是第层的第个节点。(较抽象,画个四层⼆叉树图就知道了)
则该⽗节点在数组中的索引下标(利⽤满⼆叉树的第k层的节点数为的性质来计算):
或者利⽤ ⾼度(层数)为k的满⼆叉树的总节点数为的性质来计算:两个估计
其左孩⼦节点在数组的索引下标:
或直接
其右孩⼦节点在数组的索引下标:
验证⼀下:
科学技术与工程故左孩⼦的下表为,同理可得到右⼦孩⼦的索引关系:。也可以直接在左⼦孩⼦的基础上+1。k m (m ∈[1,2])k −1k +12m −1k +12m 2k −1index =father (2+i =0∑i =k −2
i m )−1=(2−k −11+m )−1=2+k −1m −2
2−k 1index =father (2−k −11+m )−1=2+k −1m −2
index =left (2+i =0∑i =k −1
i 2∗m −1)−1=2+k 2m −3
index =left (2−k 1+2m −1)−1=2+k 2m −3锌铝涂层
index =right (2−k 1+2m )−1=2+k 2m −2中国野人之谜
index =left index ×father 2+1index =right index ×right 2+2