-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBinaryTree.java
More file actions
130 lines (109 loc) · 2.44 KB
/
BinaryTree.java
File metadata and controls
130 lines (109 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import java.util.ArrayList;
public class BinaryTree
{
private final static class Node
{
Node parent;
Node leftChild;
Node rightChild;
Encounter element;
public Node(Encounter elem)
{
parent = null;
leftChild = null;
rightChild = null;
element = elem;
}
public Node(Node parent)
{
this.parent = parent;
}
public void setParent(Node e)
{
this.parent = e;
}
public void setLeftChild(Node e)
{
this.leftChild = e;
}
public void setRightChild(Node e)
{
this.rightChild = e;
}
public void setElement(Encounter elem)
{
this.element = elem;
}
public Node getParent()
{
return this.parent;
}
public Encounter getElement()
{
return this.element;
}
public Node getLeftChild()
{
return leftChild;
}
public Node getRightChild()
{
return rightChild;
}
public boolean isExternal()
{
if(getLeftChild() == null && getRightChild() == null)
return true;
return false;
}
}
private Node root;
private int size;
public BinaryTree()
{
root = null;
}
public void addLeft( Encounter element, Node n )
{
Node noob = new Node(element);
n.setLeftChild(noob);
noob.setParent(n);
}
public void addRight(Encounter element, Node n)
{
Node noob = new Node(element);
noob.setParent(n);
n.setRightChild(noob);
}
public int depth(Node e)
{
if(e.getParent() != null)
return 1 + depth(e.getParent());
else
return 0;
}
public boolean isInternal(Node e)
{
if(e.isExternal() == false)
return true;
return false;
}
public boolean isExternal(Node e)
{
return e.isExternal();
}
public int size()
{return size;}
public boolean isRoot(Node e)
{
if(e.getParent() == null)
return true;
return false;
}
public Encounter getElement(Node e)
{return e.getElement();}
public Node parent(Node e)
{return e.getParent();}
public Node root()
{return root;}
}