常常要求在树中查找具有某种特征的结点或者对树中全部结点逐一.pptVIP

  • 2
  • 0
  • 约4.24千字
  • 约 152页
  • 2017-05-05 发布于四川
  • 举报

常常要求在树中查找具有某种特征的结点或者对树中全部结点逐一.ppt

常常要求在树中查找具有某种特征的结点或者对树中全部结点逐一

6.3遍历二叉树和线索二叉树 6.3.1 遍历二叉树 一、递归算法 在二叉树的一些应用中,常常要求在树中查找具有某种特征的结点,或者对树中全部结点逐一进行某种处理。这就引入了遍历二叉树的问题,即如何按某条搜索路径巡访树中的每一个结点,使得每一个结点均被访问一次,而且仅被访问一次。 遍历对线性结构是容易解决的,而二叉树是非线性的,因而需要寻找一种规律,以便使二叉树上的结点能排列在一个线性队列上,从而便于遍历。 ;左子树;1、先序遍历二叉树的操作定义为: 若二叉树为空,则空操作;否则 (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树。 用伪码表示: void PreOrder(T)//T是树根 { if(T为空)return; 访问T的元素; PreOrder(T的左子树); PreOrder(T的右子树); };2、中序遍历二叉树的操作定义为: 若二叉树为空,则空操作;否则 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 用伪码表示: void InOrder(T)//T是树根 { if(T为空)return; InOrder(T的左子树); 访问T的元素; InOrder(T的右子树); };3、后序遍历二叉树的操作定义为: 若二叉树为空,则空操作;否则 (1)后序遍历左子树; (2)后序遍历右子树; (3)访问根结点。 void Post

文档评论(0)

1亿VIP精品文档

相关文档