使用Java怎么实现树的同构
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍使用Java怎么实现树的同构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!给定两棵树r1、r2,如果r1可以通过若干次的左子树和右子树互换,使之与r2完全相同,
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
怎么用电脑当离线服务器
酷家乐一直显示服务器异常
挖数互联网科技有限公司
启明星辰网络安全大赛
服务器里的文件被恶意修改
网络技术电视台
装服务器系统多少钱
软件开发 工作分解结构
maya软件开发
手机如何关闭网络安全
ff14不同服务器能一块玩吗
数据库的技术系统
网络技术高科技
网络安全与哪些因素有关
php云盘数据库设计
2020年软件开发工作总结
网络安全 严禁
服务器重启自动回滚数据库
校园网络安全措施论文
数据库工程师考试真题与答案
SQL取数据库
第十八届线上网络安全知识普及赛
世界物流数据库
5g网络安全是技术问题
舟山软件开发找哪家
福建网络安全产业联盟
网络安全法不得利用网络
宽带用户内网服务器
网络安全及信息化杂志
河南省大专软件开发学校