递归与回溯法讲义.ppt

void InOrder(BiTree root)/* 中序遍历二叉树的非递归算法 */ { InitStack (S);  p=root; while(p! =NULL || !IsEmpty(S)) { if (p! =NULL) /* 根指针进栈, 遍历左子树 */ Push(S, p);  p=p-LChild;  } else { /*根指针退栈, 访问根结点, 遍历右子树*/ Pop(S, p); Visit(p-data);  p=p-RChild;  } } } 学习要点 理解回溯法的深度优先搜索策略。 掌握用回溯法解题的算法框架 (1)递归回溯最优子结构性质 (2)迭代回溯贪心选择性质 (3)子集树算法框架 (4)排列树算法框架 回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。 问题的解空间

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档