- 5
- 0
- 约小于1千字
- 约 10页
- 2019-01-24 发布于江苏
- 举报
最近公共祖先问
最近公共祖先问题 罗汉忠 2008.4.21 问题描述与实验任务 问题描述:给定一棵树,设计一个算法对于给定的两个结点返回他们的最近公共祖先 实验任务:对于给定的树和树中的结点对,输出最近公共祖先 数据输入 有文件input .txt给出输入数据,第一行有一个正整数n,表示树有n个结点,标号为1,2,3,……,n,标号为1的是树根。接下来的n行,第i+1行描述与第i个结点相关联的子结点信息。其中,每行的第一个正整数k表示该节点的儿子数,其后的k个数,每一个数表示儿子结点的标号,当k=0时表示它是叶节点 文件的第n+2行是一个正整数m,表示要计算最近公共祖先的m个结点对。接下来的m行,每行有两个数,表示要计算最近公共祖先的结点标号 数据输出 将计算出来的m个节点队的最近公共祖先结点标号输出到output.txt ,每行三个数,前两个是结点标号,第三个是他们的最近公共祖先标号 输入数据样例 12 (n) 3 2 3 4 2 5 6 0 0 2 7 8 2 9 10 0 0 0 2 11 12 0 0 5 (m) 3 11 7 12 4 8 9 12 8 10 3 11 1 7 12 2 4 8 1 9 12 6 8 10 2 算法思想 在查询最近公共祖先时,实际上就是一次次的找节点的父亲,所以用父节点数组表示法来表示这棵树 实际做法,通过考察规律,可以发现如果把这两个结点的祖先用两个数组来存储,可以非常快的找打他的最近公共祖先 算法特点分析 只要把两个结点的祖先数组存储下来,然后最坏情况下只要O(N)时间,最好清空下只要O(1)就可以找到 这里都只是自己的算法思想,源程序我就不黏贴在这里了。呵呵 * * 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 5 7 1 2 3 4 5 6 7 8 9 10 11 12 7结点 10结点 0 1 2 6 10 *
您可能关注的文档
- 最新苏教版8和的分与合.ppt
- 最新语文高考复专题——古代诗歌鉴赏.ppt
- 最新记叙文答题基本技巧方法汇总.ppt
- 最新轴承寿命计.ppt
- 最新详细免费网制作全过程.ppt
- 最新违法行政行的认定.ppt
- 最新银行贷款高培训.ppt
- 最新颁布的台港人员在内地就业的管理法规《台湾香港澳门居民在内.ppt
- 最新韩国水晶图.ppt
- 最新高二四班主班会.ppt
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
原创力文档

文档评论(0)