Java Reference
In-Depth Information
54
55
// Create the new node and attach it to the parent node
56
if
(e.compareTo(parent.element) <
0
)
57 parent.left = createNewNode(e);
58
else
59 parent.right = createNewNode(e);
60 }
61
62 size++;
63
link to parent
increase size
return true
;
// Element inserted successfully
64 }
65
66
protected
TreeNode<E> createNewNode(E e) {
create new node
67
return new
TreeNode<>(e);
68 }
69
70 @Override
/** Inorder traversal from the root */
71
public void
inorder() {
72 inorder(root);
73 }
74
75
/** Inorder traversal from a subtree */
76
protected void
inorder(TreeNode<E> root) {
77
if
(root ==
null
)
return
;
78 inorder(root.left);
79 System.out.print(root.element +
" "
);
80 inorder(root.right);
81 }
82
83 @Override
/** Postorder traversal from the root */
84
public void
postorder() {
85 postorder(root);
86 }
87
88
/** Postorder traversal from a subtree */
89
protected void
preorder(TreeNode<E> root) {
90
if
(root ==
null
)
return
;
91 postorder(root.left);
92 postorder(root.right);
93 System.out.print(root.element +
" "
);
94 }
95
96 @Override
/** Preorder traversal from the root */
97
public void
preorder() {
98 preorder(root);
99 }
100
101
/** Preorder traversal from a subtree */
102
protected void
postorder(TreeNode<E> root) {
103
if
(root ==
null
)
return
;
104 System.out.print(root.element +
" "
);
105 preorder(root.left);
106 preorder(root.right);
107 }
108
109
inorder
recursive helper method
postorder
recursive helper method
preorder
recursive helper method
/** This inner class is static, because it does not access
110
any instance members defined in its outer class */
inner class
111
public static class
TreeNode<E
extends
Comparable<E>> {
112
protected
E element;
113
protected
TreeNode<E> left;
Search WWH ::
Custom Search