二叉树拾遗

原创 2012年03月29日 17:38:41

很久就学了二叉树,现在都快忘了,趁着现在有时间,记一下。

1.定义:在计算机科学中,树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构。二叉树是每个节点最多有两个子树的有序树。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。

2.遍历:所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。

前序遍历(DLR) :根左右

中序遍历(LDR) :左根右

后序遍历(LRN):左右根

  前序遍历也叫做先根遍历、先序遍历,可记做根左右。

  前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。

  若二叉树为空则结束返回,否则:

  (1)访问根结点。 

  (2)前序遍历左子树

  (3)前序遍历右子树 。

  需要注意的是:遍历左右子树时仍然采用前序遍历方法。

  前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树

  遍历结果:ABDECF

  中序遍历,也叫中根遍历,顺序是 左子树,根,右子树

  遍历结果:DBEAFC

  后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根

  遍历结果:DEBFCA

 

相关文章推荐

【数据拾遗(java描述)】--- 二叉树的基本操作

总结了一下二叉树的基本操作,包括先序遍历、中序遍历、后序遍历的递归形式和非递归形式(栈实现),以及层次遍历(队列实现)等。 主要代码import java.util.Queue; import jav...

数据结构-非递归遍历二叉树

  • 2017年11月16日 10:28
  • 216KB
  • 下载

JAVA拾遗 - 红黑树 Part I

写在最前红黑树,应该说是我们着一些年轻程序员最害怕的玩意了,每当宿舍吹比算法的时候,聊到树,必然绕不开红黑树这个乖乖东西。为了达到二分查找的最佳性能,我们强调生成的二分查找树必须是最“平衡”的,即所有...

使用数组实现二叉树

  • 2016年08月30日 11:54
  • 7KB
  • 下载

数据结构拾遗(2) --红黑树的设计与实现(中)

Insert完善    根据规则4, 新增节点必须为红; 根据规则3, 新增节点之父节点必须为黑. 示例:    (1)插入16(红色)/55(红色), 则既不用旋转, 也不用重新染色    (2)插...

数据结构二叉树查找方式

  • 2016年11月05日 23:44
  • 67KB
  • 下载

数据结构之二叉树

  • 2015年12月02日 14:20
  • 562KB
  • 下载

数据结构拾遗(1) --红黑树的设计与实现(上)

红黑树是一种自平衡的二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组(C++ STL 中的map/set)。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树拾遗
举报原因:
原因补充:

(最多只允许输入30个字)