C算法精解---树的基础知识

  数据结构中为了存储和查找的方便,用各种树结构来存储文件。树的应用相当广泛,在数据库系统、用户界面、表达式处理、人工智能、时间调度、优先级队列、赫夫曼编码等都有应用。下面就和大家一起来学习树。首先了解下树的一些概念、性质、二叉树的遍历及树分类。先看下面的导图吧:



遍历二叉树
  上面的导图对遍历二叉树的方法进行了划分。二叉树的先序、中序及后序遍历的算法一般是由递归来实现的。我们首先来看下面的图。


先序遍历(根,左,右) 以根节点A中心蓝线划分为左右树。
   先遍历根节点A,然后遍历左子树B,B树无左子树,那就遍历右子树C(C又是D的父节点),然后遍历右子树D。这时A的左子树部分全部遍历完毕。遍历右子树。依照这种思路完成E F G H K的遍历。
中序遍历(左,根,右)
   先遍历左子树,这时看到B(是C的父节点)无左子树,所以首先遍历B;然后遍历B的右子树,会看到C是D的父节点,D是C的左子树。依照遍历的原则,首先遍历D ,再遍历D的父节点C。此时,A的左子树遍历完毕,在遍历根节点A,然后是右子树。依次。。E H G K F。
后序遍历(左,右,根)
   按照上面的思路和方法,相信大家也很容写出后续遍历的顺利。
 下面有2个练习,知道其中的2个遍历顺序,画出连接图
1)先序遍历 A B E F C D H G
  中序遍历  F E C B D H A G
2) 中序遍历 C B H E K D I F A G J
  后序遍历 C H B K E I F J G A D



你可能感兴趣的:(C算法精解---树的基础知识)