zoukankan      html  css  js  c++  java
  • 二叉树的先中后序遍历

    【0】README

    0.1)本文旨在理清二叉树的先中后序遍历, 以及如何建立二叉树等相关内容;
    0.2)本文涉及代码均为原创;
    0.3)本文中遍历后的打印结果,朋友您可以直接写出二叉树的节点构造出来;
    Attention):

    • A1)要建立二叉树或者普通树, 这就涉及到插入节点的问题; 进而涉及到找到插入到哪个父节点的哪个孩子问题(left or right);当然,我们可以抽取一个 find 方法出来找出父节点, find 方法的关键是 首先要对是否为空树进行测试;
    • A2) 而且,你要知道,在后面的二叉查找树的 插入方法insert 和 我们的 二叉树或者普通树的插入方法是不同的, 因为二叉查找树的定义是 :“该树中的每个节点 X, 它的左子树中所有关键字值 小于 X 的关键字值, 而它的右子树中所有关键字值大于 X 的关键字值”; 换句话说,在二叉查找树中,节点之间是有大小关联的, 而在二叉树和其它普通树中,节点间的数值大小是没有关系的,任意的 (特别要注意)

    ##**【1】二叉树相关概念** **1.1)定义:**二叉树是一颗树,其中每个节点都不能有多余两个儿子; ![这里写图片描述](http://img.blog.csdn.net/20151021195155177) **1.2)重要性质:**平均二叉树的深度要比N小得多(N是该二叉树的节点个数); ![这里写图片描述](http://img.blog.csdn.net/20151021195159837)
    ##**【2】二叉树的表示方法说明:** **2.1)**树一般画成圆圈并用一些直线连接起来,因为二叉树实际上就是图,但涉及到树时, 我们也不明显地画出 NULL 指针,因为具有N个节点的每一个二叉树都将需要 N+1 个 NULL 指针; **2.2)为什么是N+1个NULL 指针?** 因为N个节点==2N个指针==N-1条边;故余下N+1条边为 NULL , 即N+1个指针为NULL;(除根节点root外,每个节点都对应一条边)
    ##**【3】对二叉树的先序 + 中序 + 后序遍历** **Attention)**对于二叉树的遍历,我们的简单想法是, 遍历后的结果,我可以画出该二叉树节点的构造; **3.1)先序遍历步骤:如果二叉树为空树, 则什么都不做; 否则:**

    3.2)中序遍历步骤:如果二叉树为空树, 则什么都不做; 否则:

    3.3)后序遍历步骤:如果二叉树为空树, 则什么都不做; 否则:

  • 相关阅读:
    [转]vs2010 快捷键大全
    oracle 分组排序
    jqGrid如何实现单选。
    WCF 服务调用RFC 出现异常
    c语言修饰符总结const、static、volatile、auto、extern、register
    BL和LDR——位置无关码和位置相关码
    原码,反码,补码(二)
    原码补码反码
    C语言内存分布
    ARM总线架构(S3C2440)
  • 原文地址:https://www.cnblogs.com/pacoson/p/4898947.html
Copyright © 2011-2022 走看看