递归树的计算方法 二叉树的最大节点公式?
二叉树的最大节点公式?
找到二叉树中值最大的节点并返回。
给出下面的二叉树:
一个
/ -5 2
/ / 0 3 -4 -5
返回值为3的节点。
看到这个问题的第一反应是二叉树最常见的是递归,所以这个问题也不例外。
思路是递归左子树,在左边取最大值,在递归柚子树,在右边取最大值,然后比较根、左、右三个节点。
Java:
/**
* Tr:的定义
*公共类TreeNode {
*公共int val
* public TreeNode left,right
* public Tr:树根
* @r:最大节点
*/
公共Tr
acm考什么?
1.时间复杂性(渐近时间复杂性的严格定义,NP问题,时间复杂性的分析方法,主要定理)
2.排序算法(正方形排序算法的应用,外壳排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序,拓扑排序)。
3.数论(整除、集合论、关系、质数)、进位制、抛转除法、扩展抛转除法、同余运算、解一次同余方程、剩余定理)
4.指针(链表、重复搜索、邻接表、开放散列、二叉树表示、多分支树表示)
5.逐位运算(与、或、异或、shl、shr、某些应用)
6.图论(建立图论模型,平面图,欧拉公式和五色定理,寻找强连通分量,寻找割点和桥,欧拉路径,AOV问题,AOE问题,最小生成树的三种算法,最短路径的三种算法,标号法,微分约束系统,验证二部图,柯尼希定理,匈牙利算法,KM算法,稳定婚姻系统,最大流算法,最小值算法。
7.计算几何(平面解及其应用、向量、点积及其应用、叉积及其应用、半平面求交、求点集凸包、最近点对问题、凸多边形求交、离散化和扫描)。
8.数据结构(广度优先搜索、括号匹配验证、表达式计算、递归编译、哈希表、分段哈希、并行搜索集、Tarjan算法、二叉堆、左偏树、斜堆、二项式堆、二叉查找树、AVL、Treap、Splay、静态二叉查找树、2-d树、线段树和二维线段树)。
9.组合数学(排列组合、鸽笼原理、排斥原理、递归、斐波那契数列、加泰罗尼亚数列、斯特灵数、差分数列、母函数、排列、波利亚原理)
10.概率论(简单概率、条件概率、贝叶斯定理、期望值)
11.矩阵(矩阵的概念和运算,线性递归方程的二元解,多米诺棋盘覆盖方案的数目,高斯消去法)
12、字符串处理(KMP、后缀树、有限状态自动机、霍夫曼编码、简单密码学)
13.动态规划(单调队列、凸完全单调性、树形动态规范、多分支转二元、状态压缩动态规范、四边形不等式)
14.博弈论(尼姆子博弈、博弈树、香农开关博弈)
15.搜索(A*、ID、IDA*、随机调整、遗传算法)
16、微积分初步(极限思想、导数、积分、定积分、立体解析几何)
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。