对于中序遍历它的后继如下
()如有右孩子后继是右孩子的最左下节点
()若无右孩子且是父母的左孩子则后继就是父母
()若无右孩子且是父母的右孩子则一直上溯到第一个左祖先(定义如前)则后继就是这个祖先若无这样的祖先说明已经遍历完毕
对于后序遍历它的后继如下
()若是父母的右孩子则后继是父母
()若是父母的左孩子且父母无右子树则后继是父母
()若是父母的左孩子父母有右子树则后继是父母右子树的最先访问到的节点(指向父母的右子树后一直往左若不行的话往右一步一直到叶子)
总结完了想一想我们还能得到哪些提示?经常有一类型题目要求求某个结点的直接前驱其实求前序遍历的前驱和求后序遍历的后继是一样的只不过把左换成右而已前序遍历的求后继和后序遍历的求前驱中序遍历的求前驱和中序遍历求后继都有这样的对称关系因此总结出共性的东西许多题目就可以迎刃而解了问一问读到这里的读者你现在能够自己在脑子里面非常轻松地像上面那样把这个例子里面的情况都条理清楚地分析总结出来吗?如果现在还不行到考试之前你必须掌握到这种程度才能得到一个自己很满意的分数
经过以上的三个过程复习相信读者对数据结构的掌握就可以到达比较高的水平了如果参加考试获得一个比较满意的成绩也很有希望了当然达到这一步并不容易大量的练习是真正掌握的必由之路因此我们建议大家能够下功夫把本书中的题目完整地做一遍然后在学赛网远程测试平台中做模拟试题能够真正把这些题都掌握就意味着对数据结构这门课程的理解以及对问题的分析能力都有很大的提高这样在考场上即使遇到未曾见过的题目也就可以从容应对了
[] [] [] []