import java.io.*; public class BinaryTree { private Node root = null; private in
ID: 3715242 • Letter: I
Question
import java.io.*;
public class BinaryTree {
private Node root = null;
private int size = 0;
private static class Node {
private Character element;
private Node left, right, parent;
Node(Character e) {
element = e;
}
public Character getElement() {
return element;
}
public Node leftChild() {
return left;
}
public Node rightChild() {
return right;
}
public Node parent() {
return parent;
}
}
BinaryTree (String fileName) {
}
Node getRoot() {
return root;
}
/*public String inOrderTraversalRecursive(Node n) {
// insert your code here
}
public String preOrderTraversalRecursive(Node n) {
// insert your code here
}
public String stairCaseTraversalNonRecursive(Node n) {
// insert your code here
}
public int numberOfLeavesRecursive(Node n) {
// insert your code here
}*/
public static void main(String[] args) {
//Sample test statements; we can also create a tester
// class to test your program.
BinaryTree myTree = new BinaryTree("B1.txt");
/*System.out.println("Inorder traversal: " + myTree.inOrderTraversalRecursive(myTree.getRoot()));
System.out.println("Preorder traversal: " + myTree.preOrderTraversalRecursive(myTree.getRoot()));
System.out.println("Staircase traversal: "+ myTree.stairCaseTraversalNonRecursive(myTree.getRoot()));
System.out.println("Number of leaves: "+ myTree.numberOfLeavesRecursive(myTree.getRoot()));*/
}
}
BELOW IS THE B1 TEXT - Test input file
G 2
S 1
V 0
U 10
Q 00
J 11
E 110
H 000
D 001
Explanation / Answer
import java.io.*;
public class BinaryTree {
private Node root = null;
private int size = 0;
private static class Node {
private Character element;
private Node left, right, parent;
Node(Character e) {
element = e;
}
public Character getElement() {
return element;
}
public Node leftChild() {
return left;
}
public Node rightChild() {
return right;
}
public Node parent() {
return parent;
}
}
BinaryTree (String fileName) {
}
Node getRoot() {
return root;
}
public String inOrderTraversalRecursive(Node n) {
// insert your code here
if(n==null)
return;
inOrderTraversalRecursive(n.leftChild());
System.out.println(n.getElement());
inOrderTraversalRecursive(n.rightChild());
}
public String preOrderTraversalRecursive(Node n) {
// insert your code here
if(n==null)
return;
System.out.println(n.getElement());
preOrderTraversalRecursive(n.leftChild());
preOrderTraversalRecursive(n.rightChild());
}
public String stairCaseTraversalNonRecursive(Node n) {
// insert your code here
Queue<Node> queue = new LinkedList<Node>();
queue.add(n);
while (!queue.isEmpty())
{
Node temp = queue.poll();//to remove present head
System.out.print(temp.data + " ");
if (temp.leftChild() != null) {
queue.add(temp.left);
}
if (temp.rightChild() != null) {
queue.add(tempNode.right);
}
}
}
public int numberOfLeavesRecursive(Node n) {
// insert your code here
if(n==null)
return 0;
if(n.leftChild()==null && n.rightChild()==null)
return 1;
numberOfLeavesRecursive(n.leftChild())+numberOfLeavesRecursive(n.rightChild());
}
public static void main(String[] args) {
//Sample test statements; we can also create a tester
// class to test your program.
BinaryTree myTree = new BinaryTree("B1.txt");
/*System.out.println("Inorder traversal: " + myTree.inOrderTraversalRecursive(myTree.getRoot()));
System.out.println("Preorder traversal: " + myTree.preOrderTraversalRecursive(myTree.getRoot()));
System.out.println("Staircase traversal: "+ myTree.stairCaseTraversalNonRecursive(myTree.getRoot()));
System.out.println("Number of leaves: "+ myTree.numberOfLeavesRecursive(myTree.getRoot()));*/
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.