数据结构3(树形结构).pptVIP

  • 6
  • 0
  • 约8.95千字
  • 约 61页
  • 2017-12-30 发布于湖北
  • 举报
数据结构3(树形结构)

裂项法求解数列。 * 非递归实现:中序遍历 思想 遇到一个节点,就把它推入栈中,并去遍历它的左子树;注意:此时不访问 遍历完左子树后,从栈顶托出这个节点并访问之,然后按照它的右链接指示的地址再去遍历该节点的右子树。 节点扩展标记位 在二叉树node结构里增加1个标记位tag记录该节点状态,初始时:tag=0。 tag=0,表示左子树未访问; tag=1,表示左子树已经访问,该访问自己了。 data Rchild Lchild tag typedef struct BiTNode {    ElemType data;    struct BiTNode *Lchild, *Rchild; // 左、右孩子指针 int tag=0;   } *BiTree; 非递归实现:中序遍历伪代码 非递归实现:后序遍历 思想 遇到一个节点,把它推入栈中,遍历它的左子树; 遍历结束后,还不能马上访问处于栈顶的该节点,而是要再按照它的右链接结构指示的地址去遍历该节点的右子树; 遍历遍右子树后才能从栈顶托出该节点并访问之。 tag语义略微发生变化 tag=0,表示左右子树均未访问; tag=1,表示左子树已经访问,该访问右子树了; tag=2,表示左右子树均已经访问,该访问自己了。 非递归实现:后序遍历伪代码 树遍历非递归算法总结 非递归算法的写法有很多种,我们只是用统一的框架来

文档评论(0)

1亿VIP精品文档

相关文档