使用Java怎么实现树的同构
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,这篇文章主要介绍使用Java怎么实现树的同构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!给定两棵树r1、r2,如果r1可以通过若干次的左子树和右子树互换,使之与r2完全相同,
千家信息网最后更新 2024年12月01日使用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安全错误
数据库的锁怎样保障安全
上海锦游网络技术怎么样
海西州软件开发
未成年人网络安全事件
数据库图片保存
反馈服务器为空是怎么回事
网络安全等级测评师有培训学校吗
医保中心医保网络安全制度
加强网络安全建设措施
用油画棒简单画出网络安全手抄报
网络安全法七不准
泰拉瑞亚怎么创自己的服务器
酷宝网络技术有限公司
排列三开奖数据库
党支部网络安全宣传
北京大望路电脑软件开发培训
网络安全普查 gov
触控屏程序用什么软件开发
软件开发保密方案
统计与数据库专业有什么课程
网络安全与隐私的探讨
根据网络安全法 大众传播
北京服务器配套机柜云主机
数字出版数据库 安全
代码服务器配置
实用便宜的云服务器
服务器虚拟空间
互联网新星泛谈科技
塔城网络技术哪家好
flutter建立数据库
西安超嗨网络技术有限公司