63遍历二叉树和线索二叉树 63.1遍历二叉树 如果按某条搜索路径巡 访树中每个结点,使得 每个结点均被访问一次, 而且仅被访问一次
6.3遍历二叉树和线索二叉树 6.3.1遍历二叉树 如果按某条搜索路径巡 访树中每个结点,使得 每个结点均被访问一次, 而且仅被访问一次。 A B C D G E F
先序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否贝 A (1)访问根结点; (2)先序遍历左子树; B E (3)先序遍历右子树 DG ABCDFEG F
先序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否则 (1)访问根结点; (2)先序遍历左子树; (3)先序遍历右子树。 A B C D F E G A B C D G E F
先序遍历二叉树的递归算法 Status PreOrder Traverse(BiTree T, Status(* Visit)(TElem Type e)i if(T)i if (Visit(T->data)) if (PreOrder Traverse(T->lchild, Visit)) if(PreOrder Traverse(T->rchild, Visit) return OK return error. felse return OK 3//PreOrder Traverse
先序遍历二叉树的递归算法 Status PreOrderTraverse(BiTree T, Status(* Visit)(TElemType e)){ if (T){ if (Visit(T->data)) if (PreOrderTraverse(T->lchild,Visit)) if (PreOrderTraverse(T->rchild,Visit)) return OK; return ERROR; }else return OK; }//PreOrderTraverse
中序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否贝 A (1)中序遍历左子树; B E (2)访问根结点; (3)中序遍历右子树 DG CBDFAG E F
中序遍历二叉树的操作定义为: 若二叉树为空,则空操作; 否则 (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 C B D F A G E A B C D G E F
中序遍历二叉树示例 中序遍历二叉树得 a+b米(C-d)-e/f
中序遍历二叉树示例 中序遍历二叉树得: a+b*(c-d)-e/f - + a * e / - f b c d