首页 > 其他分享 >10.11树的最大深度和判断对称树

10.11树的最大深度和判断对称树

时间:2023-10-11 20:23:25浏览次数:48  
标签:right new trees 深度 10.11 对称 data public left

public class trees<T> {
private T data;
public trees<T> left;
public trees<T> right;

public trees(T data) {
this.data = data;
this.left = null;
this.right = null;
}


public trees(T data, trees<T> left, trees<T> right) {
this.data = data;
this.left = left;
this.right = right;
}

public int maxDepth(trees<T> t)//树的最大深度,后序递归
{
if(t==null)
{
return 0;
}
int d1=maxDepth(t.left);
int d2=maxDepth(t.right);
return Integer.max(d1,d2)+1;
}


public boolean duichen(trees<T> t)//对称树判断
{
return check(t.left,t.right);
}
public boolean check(trees<T> left,trees<T> right)
{
if(left==null&&right==null)
{
return true;
}
if(left==null||right==null)
{
return false;
}
if(left.data!=right.data)
{
return false;
}
return check(left.left,right.right)&&check(left.right,right.left);
}
}     public class Main {
public static void main(String[] args) {
trees<Integer> t=new trees<>(1);
trees<Integer> t1=new trees<>(2);
trees<Integer> t2=new trees<>(3);
trees<Integer> t3=new trees<>(4);
trees<Integer> t4=new trees<>(5);
t.left=t1;
t.right=t2;
t1.left=t3;
t1.right=t4;
System.out.println("最大深度");
System.out.println(t.maxDepth(t));
System.out.println(t.duichen(t));
trees<Integer> s=new trees<>(1);
trees<Integer> s1=new trees<>(2);
trees<Integer> s2=new trees<>(2);
s.left=s1;
s.right=s2;
System.out.println(t.duichen(s));
}
}

标签:right,new,trees,深度,10.11,对称,data,public,left
From: https://www.cnblogs.com/zhaoqianwan/p/17758090.html

相关文章

  • 动手学深度学习——深度学习计算
    frompixiv层和块为了实现这些复杂的网络,我们引入了神经网络块的概念。块(block)可以描述单个层、由多个层组成的组件或整个模型本身。从编程的角度来看,块由类(class)表示。它的任何子类都必须定义一个将其输入转换为输出的前向传播函数,并且必须存储任何必需的参数。于是我们......
  • 《动手学深度学习 Pytorch版》 8.5 循环神经网络的从零开始实现
    %matplotlibinlineimportmathimporttorchfromtorchimportnnfromtorch.nnimportfunctionalasFfromd2limporttorchasd2lbatch_size,num_steps=32,35train_iter,vocab=d2l.load_data_time_machine(batch_size,num_steps)#仍然使用时间机器数据集......
  • 2023.10.11 js.JSON和js.BOM
    1定义2var变量名='{"key1":value1,"key2":value2}'3varuser='{"字符串":"tom","整型"=20,"数组":["北京","上海","深圳"],"对象":{},"布尔值"......
  • 我汤姆回来了(树和图的深度优先遍历(树的重心))(10/11)
    #include<iostream>#include<cstring>usingnamespacestd;constintN=100010;constintM=N*2;//可能多次节点重复,所以开大intn;inte[M],ne[M],h[N],idx=0;boolst[N];intans=N;//记录最后最小值答案//单链表的连接,不同点就是头结点有多个voidadd(i......
  • 2023.10.11测试
    \[\text{NOIP模拟赛-2023.10.11}\]T1染色给定\(n\),需要给整数\(1\simn\)染色,使得对于所有\(1\leqi\leqj\leqn\),若\(j-i\)为质数,则\(i,j\)不同色。求颜色最少的染色方案,输出任意一种方案\(1\leqn\leq10000\)诈骗题观察到若\(j=i+4\)则\(i,j\)可同色,所以答......
  • LeetCode101.对称二叉树
    classSolution{//ArrayDeque不支持添加nullpublicbooleanisSymmetric(TreeNoderoot){returndfs(root.left,root.right);}//实际上,递归比较的就是根节点左右子树上,对称位置的节点booleandfs(TreeNodeleft,TreeNoderight){i......
  • 深度学习中的样本不平衡问题
    1.什么是样本不平衡问题?所谓的类别不平衡问题指的是数据集中各个类别的样本数量极不均衡。以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下把样本类别比例超过4:1(也有说3:1)的数据就可以称为不平衡数据。样本不平衡实际上是一种非常常见的现象。比如:在欺诈交易......
  • 10.11算法
    买卖股票的最佳时机给定一个数组prices,它的第 i个元素 prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不......
  • AI「鸟口普查」,康奈尔大学利用深度学习分析北美林莺分布
    据世界自然基金会统计,1970-2016年,全球代表物种种群数量减少了68%,生物多样性不断下降。保护生物多样性,需要对当地生态情况进行准确分析,制定合理的生态保护政策。然而,生态数据太过庞杂,统计标准又难以统一,大规模的生态分析很难开展。近期,康奈尔大学的研究者们利用深度学习,分析了......
  • 10.11
    packagecom;importjava.util.*;publicclasstest{privatestaticfinalString[]OPERATORS={"+","-","*","/"};privatestaticfinalintMIN_VALUE=1;privatestaticfinalintMAX_VALUE=50;private......