`
yangliuy
  • 浏览: 69527 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

POJ 2499 求二叉树结点到根结点的路径长度 递归 二叉树

 
阅读更多

这题主要求二叉树结点到根结点的路径长度,基本的思路是 比较a与b,如果a大则当前结点是左孩子,a-b作为父结点的左数,父结点的右数与当前右数相等;如果b大则当前结点为右孩子,同理可以求父结点,直到父结点为(1,1)遍历结束。

当用原始的递归算法会超时,需要考虑a=1或b=1的特殊情况,同时利用a与b的倍数关系加快遍历速度

Source Code

Problem: 2499 User: yangliuACMer
Memory: 244K Time: 0MS
Language: C++ Result: Accepted


参考了http://www.cnblogs.com/allensun/archive/2010/11/08/1872028.html


分享到:
评论

相关推荐

    POJ 2255 java

    提示:二叉树遍历而已,给出前序和中序,求后序 解题思路 1、前序遍历的第一个字母必是 根 2、在中序遍历的字母串中找出 根字母,那么根字母左右两边的字符串就分别是它的左、右子树 3、利用递归复原二叉树(把...

    poj 百练 题目分类

    在 POJ 百练 题目分类中,递归类题目包括菲波那契数列(2753)、二叉树(2756)、逆波兰表达式(2694)、放苹果(1664)、红与黑(2816)、八皇后问题(2754)、木棍问题(2817)、城堡(2815)、分解因数(2749)、...

    POJ 分类题目

    - **定义**:一种带权路径长度最短的二叉树。 - **示例题目**: - poj3253 - **应用场景**:适用于数据压缩、编码问题。 **6. 堆** - **定义**:一种特殊的完全二叉树结构。 - **示例题目**: - poj2442 - **应用...

    强大的poj分类

    - POJ 2182 - Fractal(利用递归和分治思想求解) - POJ 2264 - The Die Is Cast(哈希表应用) **相关知识点**: - 不同数据结构的特点及其应用场景 - 动态数组与静态数组的区别 - 栈和队列在实际问题中的应用案例...

    ACM-POJ 算法训练指南

    1. **最短路径**:Dijkstra算法、Bellman-Ford算法、Floyd算法等,用于寻找两点间最短路径(poj1860, poj3259, poj1062, poj2253, poj1125, poj2240)。 2. **最小生成树**:Prim算法和Kruskal算法,用于构建图的...

    POJ100题_C++_源码

    10. T062.cpp - 可能是树形结构问题,如二叉树或树的遍历,C++的递归和指针操作是基础。 通过分析和学习这些源码,开发者不仅可以提升C++编程技巧,还能加深对算法的理解,对于参加ACM/ICPC等编程竞赛或者提高软件...

    北大POJ初级-基本算法

    【北大POJ初级-基本算法】是一系列针对北京大学在线编程平台POJ的初级算法题目解题报告和通过(AC)代码的集合。这个资源对于学习算法基础和提升编程能力非常有帮助,尤其适合初学者。POJ是许多计算机科学与技术专业...

    POJ部分题解

    1. **基础数据结构**:在POJ的题目中,数据结构是解决问题的基础,如数组、链表、栈、队列、树(二叉树、平衡查找树等)、图等。理解和熟练运用这些数据结构,能够帮助我们有效地存储和操作数据,为算法的实现打下...

    poj acm300题 c++源码打包

    标题中的“poj acm300题 c++源码打包”表明这是一份包含300个在POJ(编程在线判题系统)上已通过的ACM竞赛题目解决方案的压缩文件,语言为C++。ACM,即国际大学生程序设计竞赛(International Collegiate ...

    poj习题答案

    【标题】:“POJ习题答案” 这标题指的是“POJ”平台上的编程习题解答。POJ(Problem On Jiang)是中国的一个在线编程竞赛平台,它提供了大量的算法题目供程序员们进行训练和挑战,旨在提升编程能力和算法理解。在...

    poj上算法题目分类

    根据提供的信息,我们可以将POJ(Peking Online Judge)平台上的算法题目按照不同的类别进行整理与解析。这对于希望系统性地提高自己算法能力的学习者来说非常有用。下面将基于给出的分类来详细介绍每一类算法的核心...

    Poj3254.rar_poj3254

    4. **图论**:若题目涉及到网络流、最短路径、最小生成树等问题,那么图论的知识是必不可少的。Dijkstra算法、Floyd算法、Prim算法或Kruskal算法可能被应用。 5. **数学知识**:许多编程问题都涉及数学,比如数论、...

    大顶堆应用:POJ2010

    标题“大顶堆应用:POJ2010”指的是一个关于大顶堆算法在解决实际问题中的应用,特别是针对编程竞赛网站POJ(Programming Online Judge)上的问题2010。大顶堆是一种特殊的完全二叉树,其每个节点的值都大于或等于其...

    poj 1000 - 2000 部分题目 官方分类

    POJ 1000 - 2000 是一个涵盖广泛的题目区间,包含了大量的初级到中级难度的问题,适合程序员们逐步进阶。这些题目按照官方的分类,可以系统地帮助学习者理解和解决各种类型的问题,从而提高编程和算法设计的能力。 ...

    西工大c语言poj答案

    【标题】"西工大c语言poj答案"所涉及的知识点主要集中在C语言编程以及算法的实践应用上。POJ(Programming Online Judge)是西北工业大学提供的一种在线编程评测系统,它为学习者提供了大量的编程题目,以检验和提升...

    poj1005.zip_北大poj1005

    【标题】"poj1005.zip_北大poj1005"指的是北京大学(北大)在线编程竞赛平台(POJ,Problem Set)上的第1005号算法问题的压缩包资源。这个压缩包可能包含了该问题的题目描述、输入输出样例、数据限制以及提交代码的...

    北大poj AC源码1600个(C或C++)

    北京大学在线判题系统POJ(Problem Online Judge)是许多编程爱好者和学习者熟悉的一个平台,它提供了大量的编程题目供用户提交代码并进行测试。这个压缩包包含的是在POJ上获得“Accepted”(AC)状态的1600个源代码...

    POJ2255-Tree Recovery

    代码中的关键部分可能包括数据结构的设计(例如使用邻接列表或二叉树表示树)、递归或迭代的算法实现、以及可能的优化策略。 而"POJ2255-Tree Recovery.doc" 文件很可能是解题报告,详细解释了问题的分析过程、算法...

    西北工业大学Poj100题

    【标题】:“西北工业大学Poj100题”是一系列编程练习题目,源自西北工业大学,主要针对C/C++编程语言,旨在提升编程能力和算法理解。 【描述】:“西北工业大学C/C++语言poj100题”是为学习C/C++编程的学生设计的...

    ACMer需要掌握的算法讲解 (2).docx

    * POJ3109、POJ1478、POJ1462、POJ2729、POJ2048、POJ3336、POJ3315、POJ2148、POJ1263 八、附录 * ACM算法列表 + 哈希表、哈希数组 + 堆、优先队列 + 双端队列可并堆左偏堆 + Treap伸展树并查集 + 集合计数...

Global site tag (gtag.js) - Google Analytics