数据结构学习笔记⑥·树

本文是关于数据结构中树的详细笔记,涵盖了基本概念、二叉树的性质、存储结构、遍历算法、满二叉树和完全二叉树的特性,以及哈夫曼树的构建和编码。此外,还提及了回溯法的应用和如何用二叉树表示普通树。
摘要由CSDN通过智能技术生成

树2019.3.13

参考资料:数据结构与算法,解学武,http://data.biancheng.net/
个人记录重要的笔记,非全原创,有copy部分。

基本知识

  • 一对多的关系
  • 树是由根结点和若干棵子树构成的。

一些定义

  • 父结点(双亲结点)、子结点和兄弟结点
  • 根结点:每一个非空树都有且只有一个被称为根的结点。
    树根的 判断依据为:如果一个结点没有父结点,那么这个结点就是整棵树的根结点。
  • 叶子结点:如果结点没有任何子结点,那么此结点称为叶子结点(叶结点)
  • 空树:如果集合本身为空,那么构成的树就被称为空树。空树中没有结点。
  • 子树:略
  • 度(深度、高度):对于一个结点,拥有的子树数(结点有多少分支)
  • 层次:树根为第一层,根的子节点为第二层,以此类推。
    一棵树的深度(高度)是树中结点所在的最大的层次。
  • 森林:由 m(m >= 0)个互不相交的树组成的集合。

树的几种表示形式:

在这里插入图片描述在这里插入图片描述

  • 树最常用的表示方法是使用广义表的方式

二叉树

性质:

  1. 二叉树中,第 i 层最多有 2i-1 个结点。
  2. 如果二叉树的深度为 K,那么此二叉树最多有 2K-1 个结点。
  3. 二叉树中,终端结点数(叶子结点数)为 n0,度为 2 的结点数为 n2,则 n0=n2+1。

满二叉树

  • 如果二叉树中除了叶子结点,每个结点的度都为 2。
  • 通俗地说 每层都是满的,没有缺。
满二叉树特性
  1. 满二叉树中第 i 层的节点数为 2n-1 个。
  2. 深度为 k 的满二叉树必有 2k-1 个节点 ,叶子数为 2k-1。
  3. 满二叉树中不存在度为 1 的节点,每一个分支点中都两棵深度相同的子树,且叶子节点都在最底层。
  4. 具有 n 个节点的满二叉树的深度为 log2(n+1)。

完全二叉树

除去最后一层以外每一层都是满的,且最后一层的结点依次从左到右分布。

完全二叉树特性
  1. n 个结点的完全二叉树的深度为 ⌊log2n⌋+1。
  2. 对于任意一个结点 i ,当 i>1 时,父亲结点为结点 [i/2] 。(i=1 时,表示的是根结点,无父亲结点)
  3. 如果 2*i>n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值