数据结构 第5章 树与二叉树(一轮习题总结)

5.1 树的基本概念(3 4 7)
5.2 二叉树的概念(2 14 19 22)
5.3 二叉树的遍历和线索二叉树(1 3 4 5 9 18 19 21 25 33 36)
5.4 树、森林(6 12)
5.5 树与二叉树的应用(4 5 7 8 10)

5.1 树的基本概念

  • T3
    树的路径长度:从树根到每个结点的路径长度总和
    区分:哈弗曼树的带权路径长度
  • T4
    重点理解(树的基本术语):
    度:每个结点的分支数;度>0是分支节点,度=0是叶结点/终端结点
    高度:=层数,根结点为第一层,h=1;eg:结点数为3的满二叉树h=2
    路径:两结点路径长度/树的路径长度(总和)

5.2 二叉树的概念

  • T1
    含有n个结点的完全二叉树的高度为:log(n+1)向上取整 或 logn向下取整+1
    eg:n=4,h=3
  • T2
    (判断)结点按完全二叉树层序编号的二叉树中,第i个结点的左孩子编号为2i。
    错误,可能没有左孩子,若有为2i,层序编号从1开始
  • T10 T19
    一棵完全二叉树第六层有n个叶子结点,共有多少叶子结点?(易错)
    此处有两种情况:最少(只有六层,第六层不满)、最多(有七层,第六层满第七层不满)
  • T14
    二叉树/完全二叉树的特点:n0=n2+1
    完全二叉树的特点:n1=0或1
    (以上结论,常用于:根据叶结点,计算完全二叉树的结点数)

5.3 二叉树的遍历和线索二叉树

  • T5
    不理解(涉及到栈)
    若m是n的祖先,则使用后序遍历可以找到从m到n的路径
  • T18
    线索二叉树是物理结构(链表),二叉树是逻辑结构
  • T19 21
    n个结点的线索二叉树上含有线索数为:n+1
    (计算:一共左右指针有2n,除根节点外每个结点一个指针指向n-1,2n-(n-1)=n+1)
    其中,空链域的具体计算,看排序后的第一个元素是否有左孩子,最后一个元素是否有右孩子,没有则为空链域。
  • T22 T25
    先序线索二叉树:找后继简单,找前驱若为左孩子指针,则需知道其双亲结点。
    后序线索二叉树:找前驱简单,后继麻烦。
    后序线索数的遍历需要栈的支持,因为后序线索二叉树,若右指针指向右孩子,找后继结点很麻烦。
  • T33
    根据先序确定二叉树的个数:
    在这里插入图片描述前序和中序确定一个二叉树,二叉树个数=中序排列个数;前序可看为入栈,中序可看为出栈顺序。

5.4 树、森林

  • T1
    一棵树的叶子结点不一定等于其对应的二叉树的叶子数,若叶子结点的任意两个结点都无相同双亲,才相等。
  • T6
    森林中有n个非终端结点,则对应二叉树中右指针为空的结点有n+1个。
    理解:右指针为空=无右兄弟,每个非终端结点的孩子们总有一个没有右兄弟(n)+根节点没有右兄弟(1)
  • T12
    有时选择题求解,可以使用:特殊举例法

5.5 树与二叉树的应用

  • T7
    度为m的哈弗曼树:只要是非终端结点,度都为m;N=n0+nm,N=m*nm-1
  • T8
    并查集:双亲表示法
    用一个**数组s[]**表示“集合”,数值中存储的是双亲。
  • T10
    并查集与图:
    1)并查集可用于实现Kruskal算法求图的最小生成树
    2)并查集可用于判断无向图的连通性
    Find和Union的时间复杂度
    1)未优化:Find为O(n),Union为O(n2)
    2)Union优化(Union构建时尽量减少树高):Find为O(logn),Union为O(nlogn)
    3)Find优化(压缩路径,查找路径上的结点全部挂到根节点下):Find为O(a(n)),Union为O(na(n))
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值