首页 > 其他分享 >62.《树和二叉树简阐论》

62.《树和二叉树简阐论》

时间:2024-10-05 20:33:09浏览次数:1  
标签:结点 遍历 哈夫曼 阐论 度为 62 二叉树 个度

是的这是一篇迟来的树与二叉树阐述总结 看到博客园的情况 不知道是否是最后一篇 但无论如何都应该不感慨
简单看 树 二叉树 森林
先看一些头疼的概念(自我总结):
树:n个结点的有限集 
二叉树:在树的基础上每个结点最多有两个子树
森林:m棵不相交树的集合

image

所有都是在树的基础上衍生出来的所以先看树 一些基本术语
一张图搞定

image

不管那么多 用用就会了

重点:树的性质
1.n结点数=所有边数之和+1 n结点数=所有结点度数之和+1
2.度为m的树第i层最多有 m的i-1次方 个结点
3.高度为h的m叉树最多有 (mh次方-1)/(m-1) 个结点
4.度为m n个结点树 最小高度 logm(n(m-1)+1)向上取整
5.度为m n个结点树 最大高度 n-m+1
重点:二叉树的性质
1.n0=n2+1 度为0的结点数=度为2的结点数+1
2.二叉树每个结点的左孩子编号为2i 右孩子为i/2向下取整
3.第k层最多有 2的k-1次方 个结点
4.高度为h的二叉树 最多有 2的h次方-1 个结点
5.满二叉树只有度为0和2 完全二叉树最多只有一个度为1结点且叶子结点出现最大两层

是的就这些性质能考一堆题了 我也归纳为第一大考点看例题 具体应用:

度为3的数中 结点数为50 最小高度为多少
image

这个真题很重要 度为4的树 20个度为4的结点 10个度为3的结点 1个度为2 10个度为1 求叶子结点个数
image
具体就是根据性质总结点数等于各结点度数之和+1来得出 所以很简单就简单记住 204+103+12+101+1-20-10-1-10 当然如果给了你叶子节点 也可以倒推出其他未知的已知度结点的个数
具有1025各结点的二叉树高
image
最大肯定是一层一个结点1025 然后最小根据树的性质即可

一棵完全二叉树上有1001个结点 叶结点数
image
就除于2向上取整

真题 一棵完全二叉树第6层有8个叶结点 结点数最小 最大是多少
image


二叉树概念啥的真没啥好说的重要的是应用 简单看一个东西:

三个结点可以构成几种二叉树
image
注意有左右子树之分

再看一下链式存储和顺序存储 n个结点二叉链表有n+1个空链域
image


二叉树的遍历和线索二叉树
分为两个知识点
1 先序遍历 中序遍历 后序遍历 层序遍历(基本不用)
2.由遍历确定二叉树
3.简单阐述线索二叉树

这个说那么多废话没什么用简单看:
image

关于遍历确定二叉树我认为一道题够了3

二叉树先序遍历结果为ABCDEF 中序遍历CBAEDF 求后序遍历
image

必须中序遍历 和任意一种结合便可确定 但是完全二叉树就不是了

完全二叉树后序遍历 CDBFGEA 先序为....根据其特点来确定
image

关于线索二叉树我这个考试不注重考察简单阐述一下
image
为的就是查找其前驱和后继 注意是先中后序排完后所指的


树 二叉树 森林 之间的转换
树的存储结构:
双亲链表表示法 孩子链表表示法 孩子兄弟表示法
孩子兄弟表示法最重要:为的就是树转换成二叉树
第一个孩子指针域 右兄弟指针域 数据域

看一下转化 就是 左孩子右兄弟 根节点和左子树为第一棵树 右边指向下一棵树
因此根节点右指针可能为空
image


哈夫曼树(最优二叉树)和哈夫曼编码
WPL带权路径
哈夫曼树的构造
哈夫曼编码

时间不够了 一道题看下三个概念的应用
字符集{ABCDE} 出现的频度为8 18 22 4 32
image
假设规定左0 右1
image

标签:结点,遍历,哈夫曼,阐论,度为,62,二叉树,个度
From: https://www.cnblogs.com/gaodiyuanjin/p/18448319

相关文章

  • 2024-1-16 三年总结 192623
    三年总结因果有关于感情,似乎不知从何说起,但是可以肯定的是有因果安排。这份因果一则还债,二则让我领悟一些道理。其中除了需要学会判断之外,还需要明白色即是空,也即放下执着,但并不仅限于爱情。对于一般人而言,必须要找一个活下去的意义,在世界上如果没有自己存在的价值,或者说优越感......
  • [Python手撕]二叉树中的最大路径和
    #Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defmaxPathSum(self,root:Optional[TreeNod......
  • Linux查看触摸坐标点的方法,触觉智能RK3562开发板,瑞芯微、全志等通用
    平时遇到键盘、鼠标、触摸板等输入设备无响应等异常情况时,一般通过更换设备判断异常。但在遇到更换正常设备后,输入仍然异常的情况下,可以借助evtest工具查看内核的上报事件信息,协助定位问题所在。本次使用的是触觉智能EVB3562开发板进行演示,搭载瑞芯微RK3562/RK3562J芯片,该方法也......
  • 62_索引管理_快速上机动手实战修改分词器以及定制自己的分词器
    1、默认的分词器standardstandardtokenizer:以单词边界进行切分standardtokenfilter:什么都不做lowercasetokenfilter:将所有字母转换为小写stoptokenfiler(默认被禁用):移除停用词,比如atheit等等2、修改分词器的设置启用english停用词tokenfilterPUT/my_index{"se......
  • leetcode刷题day33|动态规划Part02(62.不同路径、63. 不同路径 II、 343.整数拆分、96.
    62.不同路径机器人从(0,0)位置出发,到(m-1,n-1)终点。动规五部曲1、确定dp数组(dptable)以及下标的含义dp[i][j]:表示从(0,0)出发,到(i,j)有dp[i][j]条不同的路径。2、确定递推公式想要求dp[i][j],只能有两个方向来推导出来,即dp[i-1][j]和dp[i][j-1]。dp[i]......
  • [Python手撕]二叉树两节点之间的距离
    classTreeNode:def__init__(self,value=0,left=None,right=None):self.value=valueself.left=leftself.right=rightdefparent(root,p,q):ifroot==porroot==q:returnrootleft,right=None,None......
  • 代码随想录算法训练营Day17 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜
    目录654.最大二叉树617.合并二叉树700.二叉搜索树中的搜索98.验证二叉搜索树654.最大二叉树题目654.最大二叉树-力扣(LeetCode)给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在......
  • 完全二叉树的层序遍历(另一个角度,复杂版)(PTA)
    题目:完全二叉树的层序遍历一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为D的,有N个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前N个结点,这样的树就是完全二叉树。给定一棵完全二叉树的后序遍历,请你给出这棵树的层......
  • 鹏哥C语言62---第9次作业:函数递归练习
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>//-------------------------------------------------------------------------------------------第九次作业 函数递归等//----------------------------------------------------------------......
  • 题解:P11062 【MX-X4-T2】「Jason-1」加法
    考虑两种情况:\(a,b\)符号相同:考虑经过操作后\(a,b,\lverta-b\rvert\)会变成什么。:\(a\)\(b\)\(\lverta-b\rvert\)操作1\(a+b\)\(b\)\(\lverta\rvert\)操作2\(a\)\(a+b\)\(\lvertb\rvert\)可以看出只进行零次或一次操作后可以取到最小值......