liuwei063608的专栏

刘伟的随笔

二叉树拾遗

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

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

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

前序遍历(DLR) :根左右

中序遍历(LDR) :左根右

后序遍历(LRN):左右根

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

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

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

  (1)访问根结点。 

  (2)前序遍历左子树

  (3)前序遍历右子树 。

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

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

  遍历结果:ABDECF

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

  遍历结果:DBEAFC

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

  遍历结果:DEBFCA

 

阅读更多
文章标签: traversal 数据结构
个人分类: 编程基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

二叉树拾遗

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭