使用Java怎么实现树的同构
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍使用Java怎么实现树的同构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!给定两棵树r1、r2,如果r1可以通过若干次的左子树和右子树互换,使之与r2完全相同,
千家信息网最后更新 2026年11月03日使用Java怎么实现树的同构
这篇文章主要介绍使用Java怎么实现树的同构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
给定两棵树r1、r2,如果r1可以通过若干次的左子树和右子树互换,使之与r2完全相同,这说明两者同构。
举例
树的构造
树可以由数组或链表来构造:举例:上图左上角的树通过数组可表示为
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | B | C | D | E | G | - | - | - | F | - | H | - |
该方式浪费了部分空间,但适合表示完全二叉树
链表方式则比较直观
除上述两种方式外,还可以采用"类数组"的方式
public static class Node{String data;int left;int right;}举例:上图左上角的树可表示为
| 数组索引 | data | left | right |
|---|---|---|---|
| 0 | A | 1 | 2 |
| 1 | B | 3 | 4 |
| 2 | C | 6 | - |
| 3 | D | - | - |
| 4 | E | 5 | - |
| 5 | F | - | - |
| 6 | G | 7 | - |
| 7 | H | - | - |
本文的树结构使用了第三种方式
终端输入:
A,1,2B,3,-C,-,-D,-,-A,2,1B,3,-C,-,-D,-,-
public class TongGou {private Scanner scanner;public TongGou(){scanner = new Scanner(System.in);}//树结构public static class Node{String data;int left;int right;}/*** 创建树* @param nodes* @return*/public int createTree(Node[] nodes){int N = nodes.length;int root = -1;int[] check = new int[N];Arrays.fill(check,0); //初始化为0for (int i=0;i0) {check[left] = 1;}if(right>0){check[right] = 1;}}}for(int i=0;i以上是"使用Java怎么实现树的同构"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
子树
节点
孩子
方式
数组
不同
相同
上图
两个
内容
左上角
篇文章
结构
直观
价值
兴趣
可以通过
小伙
小伙伴
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
互联网加科技
互联网科技工作委员会副主任毛军
科技互联网产品
深圳恒合互联网络科技有限公司
金融科技还是互联网
麻工互联网科技
互联网科技的发展
万易互联网科技
天下捷融互联网科技
金融科技和互联网金融
广州优美互联网科技
济南华为互联网科技产业总部基地
须眉科技是互联网公司吗
互联网5g黑科技有哪些
链环科技传统企业怎么转型互联网
烟台灵鸽互联网科技有限公司
21世纪互联网科技成就
互联网科技大会大佬
瑞安市蟠桃会互联网科技有限公司
互联网科技企业
中资互联网科技
互联网医疗科技
互联网科技公司介绍
温州喔噻互联网科技有限公司
互联网系的金融科技公司
湖南诚度互联网科技有限公司
国大互联网教育科技有限公司工作
山东蛋芒互联网科技有限公司
杭州科技互联网公司有哪些