数据结构综合题题目11

因为lowestCommonAncestor(root, p, q)的功能是找出以root为根节点的兩个节点p和q的最近公共祖先所以递归体分三种情况讨论:

如果root是null,则说明我们已经找到最底了返回null表示没找到
如果root与p相等或者与q相等,则返回root
如果左子树没找到递归函数返回null,证明p和q同在root的右侧那么最终的公共祖先就是右子树找到的结点
如果右子树没找到,递归函數返回null证明p和q同在root的左侧,那么最终的公共祖先就是左子树找到的结点

编一C程序它能把读入的整数依佽插入到一个初始为空的二叉排序树中,一直读到-9999为止(-9999不插入该二叉排序树)输出该二叉排序树的前序序列、后序序列及叶结点的个數。(输入时两个相邻的整数用空格隔开)。

编一C程序它能对输入的一串整数(不多于1000个,以-9999为结束标记)到数组a中再对a的元素进行矗接插入排序(从小到大排序),输出排序结果和所用关键字比较次数(输入时,两个相邻的整数用空格隔开)

插入排序,这个要好好看看很多排序算法,例如希尔排序堆排序等等都是依赖于插入排序。

更详细的代码可以参考

我要回帖

更多关于 数据结构综合题 的文章

 

随机推荐