【软考】9.3 二叉树存储/遍历/线索/最优/查找/平衡

《树与二叉树》

  • 二叉树的顺序存储结构
  • 顺序存储只适用于完全二叉树和满二叉树,一般二叉树不适用
  • i =2 的左孩子为 2i =4,右孩子为 2i +1 =5
    在这里插入图片描述
  • 二叉树的链式存储结构
  • 链式存储适用于二叉树;空结点用“∧”表示
  • 二叉链表:左孩子,右孩子
  • 三叉链表:左孩子,双亲结点,右孩子
    在这里插入图片描述
  • 二叉树的遍历
  • 先序(前序)遍历:根,左,右
  • 中序遍历:左,根,右
  • 后序遍历:左,右,根
  • 层次遍历:从上到下,从左到右
    在这里插入图片描述
  • 深度为k的二叉树(满二叉树)至多有 (2^k) -1 个节点
  • 顺序存储:完全二叉树,一般二叉树需补虚节点——> 2^4 -1 = 15
  • 三叉链表:每个节点有3个指针域;——> 1+2+1+0+2+2=8
    在这里插入图片描述
  • 线索二叉树
  • 保存二叉树遍历时某节点的前驱节点和后继节点的信息
  • n个节点的二叉树使用链表存储,则有 n+1 哥空指针域
    在这里插入图片描述
  • 哈夫曼树(最优二叉树)
  • 带权路径长度最短的树
  • 树的路径长度:根节点到每一个叶子节点的路径长度之和
  • 树的带权路径长度:树的所有叶子节点的带权路径长度之和
    在这里插入图片描述
  • 哈夫曼树的求法:
  • 最小权值为叶子节点,其和为父节点,后删除叶子节点,不断循环,直到所有权值用完
  • 哈夫曼树编码:左节点值小于右节点值;左分支设为0,右分支设为1
    在这里插入图片描述在这里插入图片描述
  • 查找二叉树(排序二叉树)
  • 每个节点的所有左孩子节点值都小于父节点值,而右孩子则大于(左 < 根 < 右)
  • 每次查找范围缩小一半,查找效率较高
  • 深度越大,效率越低
    在这里插入图片描述
    在这里插入图片描述
  • 单枝树:深度最大,效率最低
  • 平衡二叉树(AVL树):深度最小,效率最高;左子树和右子树的高度之差的绝对值不超过1;
    在这里插入图片描述
    在这里插入图片描述
  • 二叉树遍历列速解

已知(先序 / 后序) 与中序,求(后序 / 先序)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于给定的二叉树,按照先序、中序和后序遍历的顺序来描述如下: 先序遍历顺序(根左右):ab cde fg 先序遍历的顺序是,首先访问根节点a,然后按照从左到右的顺序遍历左子树和右子树。对于当前的二叉树,根节点为a,首先访问a。然后按照从左到右的顺序遍历左子树和右子树,左子树为b,右子树为cde fg。继续遍历左子树b,得到先序遍历结果ab。然后遍历右子树cde fg,先访问c,再访问d,再访问e,最后访问f和g。所以最终的先序遍历结果为ab cde fg。 中序遍历顺序(左根右):b a c d e f g 中序遍历的顺序是,首先按照从左到右的顺序遍历左子树,然后访问根节点,最后按照从左到右的顺序遍历右子树。对于当前的二叉树,首先按照从左到右的顺序遍历左子树,得到中序遍历结果b。然后访问根节点a。最后按照从左到右的顺序遍历右子树,得到中序遍历结果cde fg。对于右子树cde fg,首先按照从左到右的顺序遍历左子树,得到中序遍历结果c。然后访问根节点d。最后按照从左到右的顺序遍历右子树,得到中序遍历结果e fg。对于右子树e fg,首先按照从左到右的顺序遍历左子树和右子树,得到中序遍历结果e f g。所以最终的中序遍历结果为b a c d e f g。 后序遍历顺序(左右根):b e f g d c a 后序遍历的顺序是,首先按照从左到右的顺序遍历左子树和右子树,最后访问根节点。对于当前的二叉树,首先按照从左到右的顺序遍历左子树和右子树,得到后序遍历结果b e f g d c。最后访问根节点a。所以最终的后序遍历结果为b e f g d c a。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值