数据结构与算法9 - 二叉树概念

文章目录

        • 1.1 二叉树
          • 1.1.1 满二叉树
          • 1.1.2 完全二叉树
          • 1.1.3
          • 1.1.4 斜树
          • 1.1.5 二叉查找( 排序 )树
          • 1.1.6 平衡二叉树 - AVL树 - 各节点平衡因子<=1
          • 1.1.7 赫夫曼树(最优二叉树) - 树带权路径长度最小的树(相同数量的相同权值叶子节点)
          • 1.1.0 遍历

不限制每个节点的子节点个数

专业术语
高度、深度:树的层数
节点:每个元素代表一个节点
根节点:无父亲的节点
子节点:父节点的儿子
叶子:无儿子的节点
节点度:当前节点的子节点个数
树的度:树中最大的节点度
平衡因子:左右子树的高度差
结点带权路径长度:结点权 * (根结点到当前的结点路径的长度)
树的带权路径长度(WPL):叶子结点的带权路径长度和

1.1 二叉树

每个元素的子节点个数最多为2,所以有左右节点之分

1.1.1 满二叉树

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sff9naij-1587801140412)(en-resource://database/4737:1)]

概念:除了最后一层,所有层的节点的子节点个数都是2


节点数n = 2^(h-1) → h为树的深度

1.1.2 完全二叉树

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Waezcnfp-1587801140423)(en-resource://database/4739:1)]

满足下列条件:

  • 最后一层元素必须左到右的元素紧凑相连
  • 抹去最后一层节点,则该树为满二叉树

1.1.3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xn1Iqxn1-1587801140430)(en-resource://database/4755:1)]

概念:

1.1.4 斜树

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K8Z7TdW2-1587801140436)(en-resource://database/4743:1)]

概念:所有父节点的子节点只有左节点( 右节点 )

1.1.5 二叉查找( 排序 )树

该树中序遍历元素一定是从小到大排序的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cvg5xWMc-1587801140441)(en-resource://database/4749:1)]

满足下列条件

  1. 左节点小于父节点
  2. 右节点大于父节点
  3. 所有节点的左右子树都需满足 1、2条件

1.1.6 平衡二叉树 - AVL树 - 各节点平衡因子<=1

左右子树高度相差不超过1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mbW3R8MD-1587801140443)(en-resource://database/4753:1)]

满足下列条件:

  1. 节点数 = 0 或者 左右子树的深度差 <= 1
  2. 树中每个节点的需要满足1条件

1.1.7 赫夫曼树(最优二叉树) - 树带权路径长度最小的树(相同数量的相同权值叶子节点)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-am9NEf2R-1587801140446)(en-resource://database/32476:1)]

1.1.0 遍历
方式
前序遍历:根 → 左子树 → 右子树
中序遍历:左子树 → 根 → 右子树
后序遍历:左子数 → 右子树 → 根
层次遍历:顶层开始琢层进行遍历,每层从左到右遍历



[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xeYt74Is-1587801140451)(en-resource://database/4741:1)]

图中的完全二叉树四大遍历形式的结果:

  1. 前序遍历: 9 30 46 58 49 79
  2. 中序遍历: 46 30 58 9 79 49
  3. 后续遍历: 46 58 30 79 49 9
  4. 层次遍历: 9 30 49 46 58 79

http://www.niftyadmin.cn/n/1658212.html

相关文章

中断工作原理在现代计算机中的应用,中断、DMA、通道

一、轮询方式对I/O设备的程序轮询的方式&#xff0c;是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后&#xff0c;有要求的&#xff0c;则加以处理。在处理I/O设备的要求之后&#xff0c;处理机返回继续工作。尽管轮询需要…

JavaBean的理解

1. JavaBean 1.1 分类 JavaBean有用户界面&#xff1a;如GUI组件无用户界面&#xff1a;单纯只是信使&#xff0c;用来存储数据 - JavaWeb常用1.2 标准JavaBean规范 为什么非要提供无参构造函数&#xff0c;我的理解是&#xff0c;一个JavaBean对象通常对应一个表的一条行记录…

centos7自带邮件服务器,centos7邮件服务sendmail使用说明

centos7邮件服务sendmail使用说明系统自带的是postfix邮件服务&#xff0c;postmail的命令行是sendmail命令&#xff0c;这里需要注意的是和sendmail服务名字一样&#xff0c;但是是完全不一样的东西。安装服务yum -y install sendmail mailx这里的mailx是客户端&#xff0c;有…

JSP页面 - 学习1

文章目录Servlet的替代品1. JSP1.1 概念、执行原理、基本结构1.1.1 执行原理图1.1.2 基本结构1.2 三种JSP元素1.2.1 脚本元素1.2.2 指令元素1.2.3 动作元素示例代码1.2.3.1 1.3 内置对象1.3.1 四大作用域对象1.3.2 其他内置对象代码示例 - 注意使用pageContext内置对象获取、修…

微信tt服务器,微信,TT,禁令解除

虽然还要继续调查&#xff0c;等没有了针对性&#xff0c;这个可以算是一个缓和的信号。之前也和大家聊过&#xff0c;摆在美国、摆在美联储的面前&#xff0c;是一个两难的选择&#xff1a;要么印钞搞经济&#xff0c;要么加息治通胀&#xff0c;2选1&#xff0c;很难两全。当…

摩尔庄园手游服务器链接不稳定,摩尔庄园手游

摩尔庄园手游开错地怎么办&#xff1f;《摩尔庄园手游》中有有些小伙伴不知道怎么玩而开错了地&#xff0c;那么要怎样解决呢&#xff1f;下面小编就为大家带来了《摩尔庄园手游》开错地解决方法&#xff0c;希望能对大家有所帮助。《摩尔庄园手游》开错地解决方法开错地解决办…

ajax异步请求2miao,关于ajax中的jsonp的问题,分页的A标签如何实现二次请求?

lpd09009这是添加后的HTML>无标题文档#q {width: 300px; height: 30px; padding: 5px; border:1px solid #f90; font-size: 16px;}dl {border-bottom: 1px dotted #000;}dt {font-weight: bold;}a{padding: 5px 10px;}function fn1(data) {var oMsg document.getElementByI…

JSP页面 - 学习2

文章目录1. JSTL - Java标准标签库1.0 特别注意1.1 分类1.1.1 核心标签库1.1.1.1 代码示例 -- 通用标签1.1.1.2 代码示例 -- 条件标签1.1.1.3 代码示例 -- 循环迭代标签1.1.1.4 代码示例 -- URL标签1.1.2 I18N标签库代码示例 -- formatDate1.1.3 SQL标签库1.1.4 XML标签库1.1.5…