This Java program is to Implement binary tree and check whether a tree is subtree of another. This can be done in two ways. A tree can be subtree of another if they have same structure (same object references but different value) and with same structure and values. This given class checks for both.
Here is the source code of the Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to check whether a binary tree is subtree of another tree class Btrees { Object value; Btrees Left; Btrees Right; Btrees(int k) { value = k; } } public class SubBinaryTree { public static boolean ifsubtreeRef(Btrees t1, Btrees t2) { if (t2 == null) return true; if (t1 == null) return false; return (t1 == t2) || ifsubtreeRef(t1.Left, t2) || ifsubtreeRef(t1.Right, t2); } public static boolean ifsubtreeValue(Btrees t1, Btrees t2) { if (t2 == null) return true; if (t1 == null) return false; if (t1.value == t2.value) if (ifsubtreeValue(t1.Left, t2.Left) && ifsubtreeValue(t1.Right, t2.Right)) return true; return ifsubtreeValue(t1.Left, t2) || ifsubtreeValue(t1.Right, t2); } public static void main(String[] args) { Btrees t1 = new Btrees(1); t1.Left = new Btrees(2); t1.Right = new Btrees(3); t1.Right.Left = new Btrees(4); t1.Right.Right = new Btrees(5); Btrees t2 = new Btrees(3); t2.Left = new Btrees(4); t2.Right = new Btrees(5); if (ifsubtreeRef(t1, t2)) System.out.println("T2 is sub-tree of T1 (Reference wise)"); else System.out.println("T2 is NOT sub-tree of T1 (Reference wise)"); if (ifsubtreeValue(t1, t2)) System.out.println("T2 is sub-tree of T1 (Value wise)"); else System.out.println("T2 is NOT sub-tree of T1 (Value wise)"); } }
Output:
$ javac SubBinaryTree.java $ java SubBinaryTree T2 is NOT sub-tree of T1 (Reference wise) T2 is sub-tree of T1 (Value wise)
Related posts:
Convert String to int or Integer in Java
Xây dựng ứng dụng Client-Server với Socket trong Java
Remove HTML tags from a file to extract only the TEXT
Java – String to Reader
Dynamic Proxies in Java
JPA/Hibernate Persistence Context
New Features in Java 12
A Guide to WatchService in Java NIO2
Spring Boot Configuration with Jasypt
Hướng dẫn Java Design Pattern – Object Pool
Custom Exception trong Java
Hướng dẫn Java Design Pattern – MVC
Java Program to Implement ArrayDeque API
Collect a Java Stream to an Immutable Collection
Custom JUnit 4 Test Runners
Spring Security Custom AuthenticationFailureHandler
What is a POJO Class?
How to Store Duplicate Keys in a Map in Java?
Database Migrations with Flyway
Shuffling Collections In Java
Spring Security OAuth2 – Simple Token Revocation
How to Get All Spring-Managed Beans?
Binary Numbers in Java
Handling URL Encoded Form Data in Spring REST
Period and Duration in Java
Different Ways to Capture Java Heap Dumps
Spring Boot - Thymeleaf
Simplify the DAO with Spring and Java Generics
How To Serialize and Deserialize Enums with Jackson
Spring Boot - Creating Docker Image
How to Remove the Last Character of a String?
Java Program to Search for an Element in a Binary Search Tree