二叉树

本文介绍了二叉树的基本概念及其在计算机科学中的重要性,包括二叉树的定义、不同类型的二叉树(如查找二叉树、霍夫曼树、线索二叉树、平衡二叉树等),并详细解释了四种常见的遍历方式:中序、先序、后序和层序遍历。
摘要由CSDN通过智能技术生成

这几天开始准备一个多月后的软考。复习到了二叉树,这方面的知识,我从来没有过,也不知道有什么实际用途,从网上查一下,大概的作用:文件系统和数据库系统一般都采用树(特别是B树)的数据结构数据,主要为排序和检索的效率。

对于现在水平停留在应用层的我来说,好像是用处不大。不过多学习没坏处,为以后打基础吧。做一个总结,把概念梳理一下。

二叉树的概念:

二叉树是每个节点最多有两个子树的有序树。

二叉树的遍历:

所谓遍历是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。

中序序列

中序遍历二叉树时,对结点的访问次序为中序序列

中序遍历上图所示的二叉树时,得到的中序序列为:

D B A E C F

先序序列

先序遍历二叉树时,对结点的访问次序为先序序列

先序遍历上图所示的二叉树时,得到的先序序列为:

A B D C E F

后序序列

后序遍历二叉树时,对结点的访问次序为后序序列

后序遍历上图所示的二叉树时,得到的后序序列为:

D B E F C A

层序遍历二叉树的操作定义为:若二叉树为空,则退出,否则,按照树的结构,从根开始自上而下,自左而右访问每一个结点,从而实现对每一个结点的遍历

层序遍历上图所示的二叉树时,得到的层序序列为:

A B C D E F

 

 

几种特殊的二叉树:

查找二叉树:

特点:

  1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
  2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
  3. 它的左、右子树也分别为二叉排序树。

最优二叉树:霍夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。

线索二叉树:线索二叉树能线性地遍历二叉树,从而比递归的 中序遍历更快。使用线索二叉树也能够方便的找到一个节点的父节点,这比显式地使用父亲节点指针或者栈效率更高。

平衡二叉树:平衡二叉树(BalancedBinary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参考Fibonacci数列 1是根节点 F(n-1)是左子树的节点数量 F(n-2)是右子数的节点数量。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值