对树的操作(二叉树)

对二叉树的遍历:

  先序遍历:【先访问根节点】

      先访问根节点,

      再先序访问左子树,

      再先序访问右子树;  ————递归关系

  中序遍历:【中间访问根节点】

      中序遍历左子树,

      再访问根节点,

      再中序遍历右子树;  ————递归关系

  后序遍历:【最后访问根节点】

      先中序遍历左子树,

      再中序遍历右子树,

      再访问根节点;    ————递归关系

                          

根据序列还原二叉树: 

已知两种遍历序列求原始二叉树

  通过先序和中序 或者 中序和后序我们可以还原出原始的二叉树,但是通过 先序和后序 是无法还原原始的二叉树;

 示例:已知先序 和中序,求后序

  先序:ABCDEFGH  中序:BDCEAFHG

 思路:在先序中找到根节点A, 由中序可知:BDCE 是左子树, FHG是右子树(A的右边是右子树,A的左边是左子树);后面,类似推出来该树的结构;

树的应用:

  1、树是数据库中数据组织一种重要形式; 

  2、操作系统子父进程的关系本身就是一颗树,(进程树)

  3、面向对象语言中类的继承关系本身就是一颗树;

  4、赫夫曼树

 

  

原文地址:https://www.cnblogs.com/chris-cp/p/4069939.html