带你用Java方法轻松实现树的同构
目录
- 树的同构
- 总结
树的同构 举例
文章图片
树的构造
树可以由数组或链表来构造:
举例:上图左上角的树通过数组可表示为
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方法轻松实现树的同构】本篇文章的内容就到这了,希望大家可以喜欢,也希望大家可以多多关注脚本之家的其他精彩内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 事件代理
- 精神,带我走向人生的天堂!
- 带有Hilt的Android上的依赖注入
- Java|Java OpenCV图像处理之SIFT角点检测详解
- python自定义封装带颜色的logging模块
- java中如何实现重建二叉树
- 皮夹克
- 数组常用方法一