`
have_life
  • 浏览: 151528 次
社区版块
存档分类
最新评论

Algorithm - 求二叉树的最大深度

阅读更多
int MaxDepth(Node n)
         {
             if (!n.left && !n.right)
                 return 1;
 
             int l = 0;
             if (n.left)
                 l = MaxDepth(n.left) + 1;
 
             int r = 0;
             if (n.right)
                 r = MaxDepth(n.right) + 1;
 
             return Max(l, r);
         }



link: http://www.cnblogs.com/mend/archive/2012/04/09/2439486.html
分享到:
评论

相关推荐

    Algorithm-algorithm-snippet.zip

    链表允许在不连续的内存位置存储元素,而树结构(如二叉树、AVL树、红黑树等)则用于组织层次化数据。图数据结构用于表示节点之间的复杂关系。 通过研究"Algorithm-algorithm-snippet.zip"压缩包中的代码片段,...

    Algorithm-algorithms.zip

    例如,数组的线性查找和动态扩展,链表的插入和删除操作,栈的后进先出特性在表达式求值中的应用,队列的先进先出规则在任务调度中的作用,二叉树的遍历方法,哈希表的快速查找和碰撞处理等。 通过学习和研究...

    Algorithm-Algorithm.zip

    在"Algorithm-master"中,我们可能会看到数组、链表、栈、队列、哈希表、树(如二叉树、红黑树、AVL树)和图等经典数据结构的实现。数据结构的选择和设计是优化算法性能的关键,例如,哈希表能提供快速的查找,而...

    Algorithm-algorithm.zip

    2. **搜索算法**:如二分查找、广度优先搜索(BFS)、深度优先搜索(DFS),以及A*寻路算法等,这些算法在处理大规模数据和解决复杂问题时尤为有效。 3. **数据结构**:包括数组、链表、栈、队列、哈希表、树(如...

    Algorithm-Algorithm-Data-Structure.zip

    "Algorithm-Data-Structure-master"很可能是一个包含实际代码实现的项目,这样的实践项目可以帮助学习者深入理解各种数据结构和算法的工作原理,并锻炼实际编程能力。 总结来说,算法和数据结构是构建高效计算机...

    Algorithm-data-structure_algorithm.zip

    常见的算法包括排序(如冒泡排序、快速排序、归并排序)、搜索(如二分查找、广度优先搜索、深度优先搜索)、图算法(如Dijkstra算法、Floyd-Warshall算法)以及动态规划等。JavaScript作为一种灵活且功能强大的编程...

    Algorithm-The-Algorithm-Design-Manual.zip

    7. **图论算法**:图是表示对象之间关系的有效工具,包括遍历算法(深度优先搜索和广度优先搜索)、最短路径算法(Dijkstra、Bellman-Ford、Floyd-Warshall)、最小生成树算法(Prim、Kruskal)等。 8. **数据结构*...

    Algorithm-Python-Algorithms.zip

    - 树(Tree):分层数据结构,如二叉树、平衡树(AVL树、红黑树等)。 - 图(Graph):节点和边组成的数据结构,用于表示对象之间的关系。 2. 算法: - 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并...

    Algorithm-AlgorithmImplementations.zip

    Algorithm-AlgorithmImplementations.zip,基本算法的实现(中缀前缀后缀求值到最长公共递增子序列活动选择平衡kd二叉堆二叉树呼吸深度优先搜索最大流最短路径拓扑排序微积分导数积分前向插值simpson-规则相交面积非...

    Algorithm-codelibrary.zip

    在"Algorithm-codelibrary.zip"中,你可以找到各种经典算法的实现,如搜索算法(二分查找、广度优先搜索、深度优先搜索)、排序算法(冒泡排序、快速排序、归并排序)以及图算法(Dijkstra算法、Floyd-Warshall算法...

    Algorithm-list-to-tree.zip

    5. 树的遍历算法:这些遍历算法可以递归实现,也可以用栈或队列实现非递归版本,如 Morris遍历和迭代深度优先搜索(DFS)。 6. 应用场景:列表到树的转换在很多领域都有应用,如文件系统的目录结构、HTML DOM解析、...

    Algorithm-algorithmic-programming.zip

    2. **基础算法**:压缩包中的内容可能涵盖排序(如快速排序、归并排序、冒泡排序等)、搜索(如二分查找、深度优先搜索、广度优先搜索等)、图论(如最短路径算法Dijkstra、Floyd-Warshall等)、动态规划(如背包...

    leetcode分类-Algorithm-Practice-EveryWeek:Algorithm-Practice-EveryWeek-算法

    2019-12-07-二叉树深度遍历 Leetcode 107 2019-12-09-Leet232-栈实现队列出入栈 Leetcode 232 考察栈和队列 2019-12-11-Leetcode347-优先队列TopK Leetcode 347【难度中等】 考查二叉堆,优先队列 2019-12-12-全排列...

    Algorithm-go-algorithms.zip

    2. 搜索算法:线性搜索、二分搜索、深度优先搜索(DFS)、广度优先搜索(BFS)等,用于查找目标元素或遍历数据结构。 3. 图算法:如Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法、Kruskal最小生成树算法...

    Algorithm-DataStructureAndAlgorithm.zip

    常见的数据结构有数组、链表、栈、队列、树(如二叉树、红黑树)、图等。每种数据结构都有其特定的插入、删除和查找操作的时间复杂度,因此选择合适的数据结构对于优化算法性能至关重要。 算法则是解决特定问题的...

    Algorithm-kdtree.zip

    首先,kd树是一种在高维空间中组织数据的二叉树结构,特别适合于处理多维数据。"kd"在这里代表“k-dimensional”,即它适用于任何维度的空间。kd树将多维空间分割成一系列超矩形区域,每个内部节点对应一个超平面,...

    Algorithm-java-algorithms-implementation.zip

    4. 树:包括二叉树、平衡树(如AVL树、红黑树)、堆等,广泛应用于搜索、排序等问题。 5. 图:由顶点和边构成,适用于表示复杂的关联关系,如网络路由、社交网络分析等。 三、Java算法实现 "Algorithm-java-...

    Algorithm-C-Sharp.zip

    3. **图论与网络流**:C#实现可能包含了图的遍历(深度优先搜索和广度优先搜索)、最小生成树(如Prim或Kruskal算法)以及最短路径算法(如Dijkstra算法)。这些算法在路由规划、社交网络分析等领域有着广泛应用。 ...

    Algorithm-LeetCode-Solution-From-GuaZiDou.zip

    再如,"Binary Tree Maximum Path Sum"问题,要求找到二叉树中从根节点到叶子节点的最大路径和。这个问题可以通过深度优先搜索或广度优先搜索结合动态规划来解决。 GuaZiDou的解决方案不仅包含了代码实现,通常还...

Global site tag (gtag.js) - Google Analytics