【软考】——树和二叉树

本文详细介绍了树与二叉树的相关概念,包括树、满二叉树、完全二叉树、二叉查找树和平衡二叉树。特别强调了二叉树在数据结构和软考中的重要性,并通过实例解释了如何构建二叉树以及计算带权路径长度的方法。通过总结,加深了对树和二叉树知识的理解和记忆。
摘要由CSDN通过智能技术生成


    关于树的东西学了已经好几遍了,但每一遍都会有不一样的收获,无论数据结构或者软考,很多地方对树的介绍互相补充,互相完善,时间久了还是会有所遗忘,再次总结以加强学习理解~~~


    树与二叉树

    树

    一种典型的非线性数据结构,由一个或多个节点组成的有限集合。需要满足两个条件:
    1.有一个特定的结点,称为根节点;
    2.其余节点分成m(m>=0)个互不相交的有限集合,每个集合又都是一棵树,称为根节点的子树。


    二叉树
    有限的结点集合,该集合或者为空,或者由一个根节点及其两颗互不相交的左、右二叉子树所组成。


    区别
    1.树的每个结点可以有多个子结点,即树的度,没有子结点的结点度为0,称为叶子节点。
     二叉树的每个结点的子结点不大于2,非叶子结点有1个或两个子结点。
    2.树有三种遍历方式:前序、后序、层次;
     二叉树与树相同,也有三种遍历方式。


    二叉树

    最容易迷惑的是二叉树,在这几种二叉树之间,很容易将他们混淆。

    满二叉树与完全二叉树

    满二叉树:二叉树的深度为k,则此二叉树的结点数一定是2^(k-1),其中(k>=1)。(多说一句,二叉树的深度是从1开始的,没有0层)。
    完全二叉树:深度为k,有n个结点,且此二叉树中各结点能够与深度k的顺序编号的满二叉树从1到n标号的结点相对应。

    满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。

    二叉查找树

    又称为二叉排序树。
    特性:在二叉排序树中,左子树上所有的结点的值都小于根结点,右子树上上所有的值都大于根结点;左右子树本身又是一棵二叉排序树。
    对二叉排序树进行中序遍历,便可得到一个排好序的结点序列,而且序列是递增的。

    平衡二叉树

    又称为AVL树,平衡,也就是说树中任一结点的左右子树的高度都大致相同。左子树深度-右子树深度=m,当m=-1、0、1时,二叉树是平衡的,如果m<-1或者m>1,则二叉树是不平衡的。
    完全平衡:任一结点的左右子树的高度均相同,满二叉树就是个活生生的例子。

    哈夫曼树
    哈夫曼树构造过程:

    

    分析:从所给的序列中选择两个最小的构成一棵二叉树,然后将所构成二叉树的根结点放入原序列中,继续比较取两个最小值,依次进行,指导所有记录都被添加到二叉树中。
    计算带权路径长度:找出原序列的所有记录:2  4  5  7;用记录的键值与根结点到记录所在位置所经的边数相乘,所得结果的和即为带权路径长度。
    图中例子的带权路径长度:(2+4)*3+5*2+7=35


    总结
    二叉树中的知识点有很多相似之处,如不多加注意很容易便会用错,通过总结,小编对树和二叉树,尤其是各种二叉树又牢牢的巩固了一遍,当然在总结的过程中也对这些树们有了严格的认识。相信下次再遇到这样的问题,小编不会再犯迷糊了~~~



评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值