第四章树与树的表示(二).pptVIP

  • 2
  • 0
  • 约5.66千字
  • 约 32页
  • 2017-02-09 发布于重庆
  • 举报
第四章树与树的表示(二)

二叉树的遍历 遍历二叉树(Traversing Binary Tree):是指按指定的规律对二叉树中的每个结点访问一次且仅访问一次。 所谓访问是指对结点做某种处理。如:输出信息、修改结点的值等。 二叉树是一种非线性结构,每个结点都可能有左、右两棵子树,因此,需要寻找一种规律,使二叉树上的结点能排列在一个线性队列上,从而便于遍历。 二叉树的基本组成:根结点、左子树、右子树。若能依次遍历这三部分,就是遍历了二叉树。 若以L、D、R分别表示遍历左子树、遍历根结点和遍历右子树,则有六种遍历方案:DLR、LDR、LRD、DRL、RDL、RLD。若规定先左后右,则只有前三种情况三种情况,分别是: DLR——先(根)序遍历。 LDR——中(根)序遍历。 LRD——后(根)序遍历。 对于二叉树的遍历,分别讨论递归遍历算法和非递归遍历算法。递归遍历算法具有非常清晰的结构,但初学者往往难以接受或怀疑,不敢使用。实际上,递归算法是由系统通过使用堆栈来实现控制的。而非递归算法中的控制是由设计者定义和使用堆栈来实现的。 (1)先序遍历 遍历过程为: ① 访问根结点; A(B D F E )(C G H I) ② 先序遍历其左子树; ③ 先序遍历其右子树。 先序遍历= A B D F E C G H I void PreOrderTraversal( BinTree BT ) { if( BT

文档评论(0)

1亿VIP精品文档

相关文档