2020牛客寒假算法基础集训营3——D.牛牛与二叉树的数组存储【模拟】

题目传送门


题目描述

树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序时,可用树表示源源程序的语法结构。又如在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述。满二叉树,完全二叉树,排序二叉树。

当一颗二叉树是满二叉树时,可以用如下的规则储存:

  1. 数组0下标不使用
  2. 节点i的左子节点在位置为(2*i);
  3. 节点i的右子节点在位置为(2*i+1);
  4. 节点i的父节点在位置为(i/2);
  5. 根节点被保存到数组下标为1的位置。

在这里插入图片描述

上图是一颗满二叉树,对于每个节点i, i ∗ 2 i*2 i2 是它的左子树, i ∗ 2 + 1 i*2+1 i2+1 是它的右子树, i / 2 i/2 <

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值