现在的位置: 首页 > 综合 > 正文

二叉树

2012年11月10日 ⁄ 综合 ⁄ 共 953字 ⁄ 字号 评论关闭

这几天开始准备一个多月后的软考。复习到了二叉树,这方面的知识,我从来没有过,也不知道有什么实际用途,从网上查一下,大概的作用:文件系统和数据库系统一般都采用树(特别是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)是右子数的节点数量。

 

 

抱歉!评论已关闭.