Subversion Repositories programming

Rev

Rev 27 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23 irasnyd 1
// Written by Ira Snyder
26 irasnyd 2
// Project #2
3
// Due Date: 11-05-2004
4
 
23 irasnyd 5
import java.io.*;
6
import java.util.*;
7
 
8
class Driver {
9
 
27 irasnyd 10
    public static void main( String[] args ) throws Exception {
11
 
12
        //create both example trees
13
        UnorderedTree tree1 = createTreeOne();
14
        UnorderedTree tree2 = createTreeTwo();
26 irasnyd 15
 
16
        //tree 1
17
        System.out.println("TreeOne's size is: " + tree1.size());
18
        System.out.println("Starting TreeOne's Traversals...");
19
        System.out.print("PreOrder: ");
20
        tree1.printPreOrder( System.out );
21
        System.out.print("PostOrder: ");
22
        tree1.printPostOrder( System.out );
23
        System.out.print("LevelOrder: ");
24
        tree1.printLevelOrder( System.out );
25
        System.out.println(); //blank line
26
 
27
        //tree 2
28
        System.out.println("TreeTwo's size is: " + tree2.size());
29
        System.out.println("Starting TreeTwo's Traversals...");
30
        System.out.print("PreOrder: ");
31
        tree2.printPreOrder( System.out );
32
        System.out.print("PostOrder: ");
33
        tree2.printPostOrder( System.out );
34
        System.out.print("LevelOrder: ");
35
        tree2.printLevelOrder( System.out );
36
    }
23 irasnyd 37
 
27 irasnyd 38
    //method to create and return tree 1
39
    public static UnorderedTree createTreeOne( ) {
23 irasnyd 40
 
27 irasnyd 41
        //create all leaf nodes
42
        UnorderedTree treeD = new UnorderedTree("D");
43
        UnorderedTree treeE = new UnorderedTree("E");
44
        UnorderedTree treeF = new UnorderedTree("F");
45
        UnorderedTree treeK = new UnorderedTree("K");
46
        UnorderedTree treeL = new UnorderedTree("L");
47
        UnorderedTree treeM = new UnorderedTree("M");
48
        UnorderedTree treeI = new UnorderedTree("I");
23 irasnyd 49
 
27 irasnyd 50
        //create Set of subtrees of treeC
51
        Set subtreesOfC = new HashSet();
52
        subtreesOfC.add(treeD);
53
        subtreesOfC.add(treeE);
23 irasnyd 54
 
27 irasnyd 55
        //create treeC
56
        UnorderedTree treeC = new UnorderedTree("C", subtreesOfC);
23 irasnyd 57
 
27 irasnyd 58
        //create Set of subtrees of treeG
59
        Set subtreesOfG = new HashSet();
60
        subtreesOfG.add(treeF);
23 irasnyd 61
 
27 irasnyd 62
        //create treeG
63
        UnorderedTree treeG = new UnorderedTree("G", subtreesOfG);
64
 
65
        //create Set of subtrees of treeB
66
        Set subtreesOfB = new HashSet();
67
        subtreesOfB.add(treeC);
68
        subtreesOfB.add(treeG);
23 irasnyd 69
 
27 irasnyd 70
        //create treeB
71
        UnorderedTree treeB = new UnorderedTree("B", subtreesOfB);
23 irasnyd 72
 
27 irasnyd 73
        //create Set of subtrees of treeJ
74
        Set subtreesOfJ = new HashSet();
75
        subtreesOfJ.add(treeK);
76
        subtreesOfJ.add(treeL);
77
        subtreesOfJ.add(treeM);
23 irasnyd 78
 
27 irasnyd 79
        //create treeJ
80
        UnorderedTree treeJ = new UnorderedTree("J", subtreesOfJ);
23 irasnyd 81
 
27 irasnyd 82
        //create Set of subtrees of treeH
83
        Set subtreesOfH = new HashSet();
84
        subtreesOfH.add(treeJ);
85
        subtreesOfH.add(treeI);
23 irasnyd 86
 
27 irasnyd 87
        //create treeH
88
        UnorderedTree treeH = new UnorderedTree("H", subtreesOfH);
23 irasnyd 89
 
27 irasnyd 90
        //create Set of subtrees of treeA
91
        Set subtreesOfA = new HashSet();
92
        subtreesOfA.add(treeB);
93
        subtreesOfA.add(treeH);
23 irasnyd 94
 
27 irasnyd 95
        //create treeA
96
        UnorderedTree treeA = new UnorderedTree("A", subtreesOfA);
23 irasnyd 97
 
27 irasnyd 98
        //return the completed tree
99
        return treeA;
100
    }
23 irasnyd 101
 
27 irasnyd 102
    //method to create and return tree 2
103
    public static UnorderedTree createTreeTwo( ) {
23 irasnyd 104
 
27 irasnyd 105
        //create all leaf nodes
106
        UnorderedTree treeO = new UnorderedTree("O");
107
        UnorderedTree treeP = new UnorderedTree("P");
108
        UnorderedTree treeQ = new UnorderedTree("Q");
109
        UnorderedTree treeS = new UnorderedTree("S");
110
        UnorderedTree treeT = new UnorderedTree("T");
111
        UnorderedTree treeX = new UnorderedTree("X");
112
        UnorderedTree treeU = new UnorderedTree("U");
113
        UnorderedTree treeV = new UnorderedTree("V");
114
        UnorderedTree treeW = new UnorderedTree("W");
115
        UnorderedTree treeZ = new UnorderedTree("Z");
116
        UnorderedTree tree1 = new UnorderedTree("1");
117
        UnorderedTree tree2 = new UnorderedTree("2");
118
        UnorderedTree tree3 = new UnorderedTree("3");
119
        UnorderedTree treeF = new UnorderedTree("F");
120
        UnorderedTree treeK = new UnorderedTree("K");
121
        UnorderedTree treeM = new UnorderedTree("M");
122
        UnorderedTree treeI = new UnorderedTree("I");
23 irasnyd 123
 
27 irasnyd 124
        //now create subtrees of R
125
        Set subtreesOfR = new HashSet();
126
        subtreesOfR.add(treeS);
127
        subtreesOfR.add(treeT);
128
        subtreesOfR.add(treeX);
23 irasnyd 129
 
27 irasnyd 130
        //create treeR
131
        UnorderedTree treeR = new UnorderedTree("R",subtreesOfR);
23 irasnyd 132
 
27 irasnyd 133
        //create subtrees of N
134
        Set subtreesOfN = new HashSet();
135
        subtreesOfN.add(treeO);
136
        subtreesOfN.add(treeP);
137
        subtreesOfN.add(treeQ);
23 irasnyd 138
 
27 irasnyd 139
        //create treeN
140
        UnorderedTree treeN = new UnorderedTree("N",subtreesOfN);
23 irasnyd 141
 
27 irasnyd 142
        //create subtrees of D
143
        Set subtreesofD = new HashSet();
144
        subtreesofD.add(treeR);
145
        subtreesofD.add(treeU);
146
        subtreesofD.add(treeV);
147
        subtreesofD.add(treeW);
23 irasnyd 148
 
27 irasnyd 149
        //create treeD
150
        UnorderedTree treeD = new UnorderedTree("D",subtreesofD);
23 irasnyd 151
 
27 irasnyd 152
        //create subtrees of Y
153
        Set subtreesOfY = new HashSet();
154
        subtreesOfY.add(treeZ);
155
        subtreesOfY.add(tree1);
156
        subtreesOfY.add(tree2);
23 irasnyd 157
 
27 irasnyd 158
        //create treeY
159
        UnorderedTree treeY = new UnorderedTree("Y",subtreesOfY);
23 irasnyd 160
 
27 irasnyd 161
        //create subtrees of 4
162
        Set subtreesOf4 = new HashSet();
163
        subtreesOf4.add(treeN);
23 irasnyd 164
 
27 irasnyd 165
        //create tree4
166
        UnorderedTree tree4 = new UnorderedTree("4",subtreesOf4);
23 irasnyd 167
 
27 irasnyd 168
        //create subtrees of E
169
        Set subtreesOfE = new HashSet();
170
        subtreesOfE.add(tree3);
171
        subtreesOfE.add(treeD);
23 irasnyd 172
 
27 irasnyd 173
        //create treeE
174
        UnorderedTree treeE = new UnorderedTree("E",subtreesOfE);
23 irasnyd 175
 
27 irasnyd 176
        //create subtrees of L
177
        Set subtreesOfL = new HashSet();
178
        subtreesOfL.add(treeY);
23 irasnyd 179
 
27 irasnyd 180
        //create treeL
181
        UnorderedTree treeL = new UnorderedTree("L",subtreesOfL);
23 irasnyd 182
 
27 irasnyd 183
        //create subtrees of C
184
        Set subtreesOfC = new HashSet();
185
        subtreesOfC.add(tree4);
186
        subtreesOfC.add(treeE);
23 irasnyd 187
 
27 irasnyd 188
        //create treeC
189
        UnorderedTree treeC = new UnorderedTree("C",subtreesOfC);
23 irasnyd 190
 
27 irasnyd 191
        //create subtrees of G
192
        Set subtreesOfG = new HashSet();
193
        subtreesOfG.add(treeF);
23 irasnyd 194
 
27 irasnyd 195
        //create treeG
196
        UnorderedTree treeG = new UnorderedTree("G",subtreesOfG);
197
 
198
        //create subtrees of J
199
        Set subtreesOfJ = new HashSet();
200
        subtreesOfJ.add(treeK);
201
        subtreesOfJ.add(treeL);
202
        subtreesOfJ.add(treeM);
203
 
204
        //create treeJ
205
        UnorderedTree treeJ = new UnorderedTree("J",subtreesOfJ);
206
 
207
        //create subtrees of B
208
        Set subtreesOfB = new HashSet();
209
        subtreesOfB.add(treeC);
210
        subtreesOfB.add(treeG);
211
 
212
        //create treeB
213
        UnorderedTree treeB = new UnorderedTree("B",subtreesOfB);
214
 
215
        //create subtrees of H
216
        Set subtreesOfH = new HashSet();
217
        subtreesOfH.add(treeI);
218
        subtreesOfH.add(treeJ);
219
 
220
        //create treeH
221
        UnorderedTree treeH = new UnorderedTree("H",subtreesOfH);
222
 
223
        //create subtrees of A
224
        Set subtreesOfA = new HashSet();
225
        subtreesOfA.add(treeB);
226
        subtreesOfA.add(treeH);
227
 
228
        //create treeA
229
        UnorderedTree treeA = new UnorderedTree("A",subtreesOfA);
230
 
231
        //return the completed tree
232
        return treeA;
233
    }
234
 
23 irasnyd 235
} //end of class Driver
236