当前位置: 首页 > news >正文

二叉树性质

  1. 在二叉树的第i层上至多有2^(i-1)个结点(i≥1)

  1. 深度为k的二叉树至多有2^k-1个结点(k≥1)

  1. 对任何一颗二叉树T,如果其叶子数为n0,度为2的结点数位n2,则n0=n2+1

满二叉树:一颗深度为k且有2^k-1个结点的二叉树

特点:每层都满;叶子节点全部在最底层

编号规则:从上到下,从左到右

完全二叉树:深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应时,称之为完全二叉树。

性质:

具有n个结点的完全二叉树的深度【log2n】+1;(n和k的关系)

如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i,有:

  1. 如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲结点【i/2】

  1. 如果2i>n,则结点i为叶子结点,无左孩子;否则,其左孩子是结点2i

  1. 如果2i+1>n,则结点i无右孩子;否则,其右孩子是结点2i+1

(双亲结点和孩子结点编号的关系)

二叉树的顺序存储:按满二叉树的结点层次编号,依次存放二叉树中的数据元素

二叉树的链式存储:用链表来指示元素之间的逻辑关系。通常有两种存储形式:

  • 链表中每个结点由三个域组成,除了数据域之外,还有两个指针域,分别用来给出该结点的左孩子和右孩子所在的存储地址。

  • 链表中每个结点由四个域组成,除了数据域之外,还有三个指针域,分别用来给出该结点的左孩子、右孩子和双亲结点所在的存储地址。

http://www.lryc.cn/news/7190.html

相关文章:

  • 二维数组操作示例
  • Spring Boot邮件发送(powernode CD2207)(内含教训视频+源代码)
  • FortiTalk | “三英论安全”之OT安全热门话题解读
  • 前端开发:关于diff算法详解
  • 如何为报表开发工具 FastReport .NET 设置 Apache 2 Web 服务器?
  • 华为OD机试真题JAVA实现【出租车计费】真题+解题思路+代码(20222023)
  • MySQL 查看版本的 5 种方法
  • 【软件测试】稳定性测试怎么做,这篇文章彻底讲透了~
  • Leetcode:198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III(C++)
  • 【每日随笔】手指训练 ( 手指训练作用 | 哪些人需要手指训练 | 手指操 | 手指康复训练器材 )
  • ATR指标在外汇交易中的另类运用方法
  • SQL Server 数据批量导出处理
  • 虹科分享 | CANopen协议基础知识——LSS服务
  • JS混淆和解混淆
  • MySQL-数值函数
  • SpringMVC(1)
  • 珠海先达MES系统六大功能解决电子组装行业可视化问题
  • 获取本机的IP地址,看似简单的获取,实则蕴含非常多的操作
  • 【SSM】篇一:初试Spring--Ioc与Bean
  • 华为OD机试真题Python实现【出租车计费】真题+解题思路+代码(20222023)
  • Elasticsearch:如何修改 nested 字段的值
  • 【JAVA】jdk8 Stream 排序精通
  • python的opencv操作记录12——Canny算子使用
  • Spark on hive Hive on spark
  • 【MySQL】子查询
  • Day889.MySQL高可用 -MySQL实战
  • 剑指 Offer 24. 反转链表
  • “黑铁时代”,地产人如何以客户视角加速房企数字化转型
  • 零入门kubernetes网络实战-14->基于veth pair、namespace以及路由技术,实现跨主机命名空间之间的通信测试案例
  • 【pytorch框架】对模型知识的基本了解