使用Java怎么实现树的同构
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍使用Java怎么实现树的同构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!给定两棵树r1、r2,如果r1可以通过若干次的左子树和右子树互换,使之与r2完全相同,
千家信息网最后更新 2025年11月12日使用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安全错误
数据库的锁怎样保障安全
用函数选取对应数字的数据库
考研软件工程转网络安全
java mvc数据库
连云港智能化服务器工厂
服务器机子
数据库视图 sql语句
网络安全学习宣传活动总结
网络安全教育主题班会策划
三大中文全文数据库是
服务器驱动精灵黑屏
公司软件开发 税点
浏览器与wdb服务器用的协议
税控盘插上提示访问数据库错误
服务器管理员限制访问了
网络技术服务相关法律法规
工行软件开发中心社招面试
建立健全网络安全领导体制
为什么网络安全工程专业就业好
创新的软件开发平台
网络技术讨论区
杭州舜宇软件开发工资
网络技术技能
数据库用表字段赋值
sql 什么叫关系数据库
服务器必须要上防火墙吗
无线网络技术第三版金光
服务器管理员限制访问了
数据库的型是指
南京汽车控制器底层控制软件开发
网络安全小知识 50字