Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I got post order and pre order, I\'m stuck on inorder traversal. what am I doing

ID: 3536248 • Letter: I

Question

I got post order and pre order, I'm stuck on inorder traversal. what am I doing wrong? Please help!


This is the part of the code from the Tree24 class.





/* Preorder traversal from the root */

public void preorder() {

preorder(root);

}


/** Preorder traversal from a subtree */

private void preorder(Tree24Node<E> root) {

if (root == null)

return;

for (int i = 0; i < root.elements.size(); i++)

System.out.print(root.elements.get(i) + " ");


for (int i = 0; i < root.child.size(); i++)

preorder(root.child.get(i));

}







/************ Inorder traversal from the root**************/

public void inorder() {

inorder(root);

}


private void inorder(Tree24Node<E> root) {

if (root == null)

return;

for (int i = 0; i < root.elements.size(); i++)

System.out.print(root.elements.get(i) + " ");


for (int i = 0; i < root.child.size(); i++)

inorder(root.child.get(i));

}








/* Postorder traversal from the root */

public void postorder() {

postorder(root);

}


private void postorder(Tree24Node<E> root) {

if (root == null)

return;

for (int i = 0; i < root.child.size(); i++)

postorder(root.child.get(i));

for (int i = 0; i < root.elements.size(); i++)

System.out.print(root.elements.get(i) + " ");

}

Explanation / Answer

//inorder traversal can be done only if node has two children i.e, binary tree .

// Then traversal will be like

//left subtree--->node---->right subtree

/******pseudocode******/

so code will be like below ...with childsize() =2;


/************ Inorder traversal from the root**************/

public void inorder() {

inorder(root);

}


private void inorder(Tree24Node<E> root) {

if (root == null)

return;


inorder(root.child.get(0));


//for (int i = 0; i < root.elements.size(); i++)

System.out.print(root.elements.get(i) + " ");



inorder(root.child.get(1));


}