Skip to content

Commit 4972a62

Browse files
author
phishman3579
committed
Updated the testing code for QuadTree
git-svn-id: https://java-algorithms-implementation.googlecode.com/svn/trunk@395 032fbc0f-8cab-eb90-e552-f08422b9a96a
1 parent 2b4cc79 commit 4972a62

File tree

1 file changed

+29
-20
lines changed

1 file changed

+29
-20
lines changed

src/com/jwetherell/algorithms/DataStructures.java

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7325,7 +7325,7 @@ private static boolean testPatriciaTrie() {
73257325
@SuppressWarnings("unchecked")
73267326
private static boolean testQuadTree() {
73277327
int listSize = 10;
7328-
int size = 10000;
7328+
int size = 16000;
73297329
java.util.List<QuadTree.XYPoint>[] lists = new java.util.List[listSize];
73307330
for (int i=0; i<listSize; i++) {
73317331
java.util.List<QuadTree.XYPoint> list = new java.util.LinkedList<QuadTree.XYPoint>();
@@ -7361,13 +7361,16 @@ private static boolean testQuadTree() {
73617361
long afterTreeQuery;
73627362
long insertTime;
73637363
long queryTime;
7364+
long avgInsertTime;
7365+
long avgQueryTime;
73647366
long treeMemory;
73657367
long treeQuery;
73667368

73677369
// Point based quad tree
73687370
{
73697371
QuadTree.PointQuadTree<QuadTree.XYPoint> tree = new QuadTree.PointQuadTree<QuadTree.XYPoint>(0,0,size,size);
73707372
beforeMemory = DataStructures.getMemoryUse();
7373+
avgInsertTime = 0;
73717374
for (int i=0; i<listSize; i++) {
73727375
java.util.List<QuadTree.XYPoint> list = lists[i];
73737376
beforeInsert = System.currentTimeMillis();
@@ -7378,7 +7381,9 @@ private static boolean testQuadTree() {
73787381

73797382
insertTime = afterInsert - beforeInsert;
73807383
System.out.println("insertTime="+insertTime);
7384+
avgInsertTime += insertTime;
73817385
}
7386+
System.out.println("avgInsertTime="+avgInsertTime/listSize);
73827387
afterMemory = DataStructures.getMemoryUse();
73837388
treeMemory = afterMemory - beforeMemory;
73847389
System.out.println("treeMemory="+treeMemory);
@@ -7395,19 +7400,20 @@ private static boolean testQuadTree() {
73957400
}
73967401

73977402
// We should find all points here
7403+
avgQueryTime = 0;
73987404
for (int i=0; i<listSize; i++) {
73997405
java.util.List<QuadTree.XYPoint> query = queries[i];
7400-
for (int j=0; j<listSize; j++) {
7401-
beforeQuery = System.currentTimeMillis();
7402-
for (QuadTree.XYPoint p : query) {
7403-
tree.queryRange(p.getX(), p.getY(), 1, 1);
7404-
}
7405-
afterQuery = System.currentTimeMillis();
7406-
7407-
queryTime = afterQuery - beforeQuery;
7408-
System.out.println("queryTime="+queryTime);
7406+
beforeQuery = System.currentTimeMillis();
7407+
for (QuadTree.XYPoint p : query) {
7408+
tree.queryRange(p.getX(), p.getY(), 1, 1);
74097409
}
7410+
afterQuery = System.currentTimeMillis();
7411+
7412+
queryTime = afterQuery - beforeQuery;
7413+
System.out.println("queryTime="+queryTime);
7414+
avgQueryTime += queryTime;
74107415
}
7416+
System.out.println("avgQueryTime="+avgQueryTime/listSize);
74117417

74127418
// Result set should not contain duplicates
74137419
beforeTreeQuery = System.currentTimeMillis();
@@ -7427,6 +7433,7 @@ private static boolean testQuadTree() {
74277433
{
74287434
QuadTree.RectangleQuadTree<QuadTree.AxisAlignedBoundingBox> tree = new QuadTree.RectangleQuadTree<QuadTree.AxisAlignedBoundingBox>(0,0,size,size);
74297435
beforeMemory = DataStructures.getMemoryUse();
7436+
avgInsertTime = 0;
74307437
for (int i=0; i<listSize; i++) {
74317438
java.util.List<QuadTree.XYPoint> list = lists[i];
74327439
beforeInsert = System.currentTimeMillis();
@@ -7437,8 +7444,9 @@ private static boolean testQuadTree() {
74377444

74387445
insertTime = afterInsert - beforeInsert;
74397446
System.out.println("insertTime="+insertTime);
7440-
7447+
avgInsertTime += insertTime;
74417448
}
7449+
System.out.println("avgInsertTime="+avgInsertTime/listSize);
74427450
afterMemory = DataStructures.getMemoryUse();
74437451
treeMemory = afterMemory - beforeMemory;
74447452
System.out.println("treeMemory="+treeMemory);
@@ -7455,19 +7463,20 @@ private static boolean testQuadTree() {
74557463
}
74567464

74577465
// We should find all points here
7466+
avgQueryTime = 0;
74587467
for (int i=0; i<listSize; i++) {
74597468
java.util.List<QuadTree.XYPoint> query = queries[i];
7460-
for (int j=0; j<listSize; j++) {
7461-
beforeQuery = System.currentTimeMillis();
7462-
for (QuadTree.XYPoint p : query) {
7463-
tree.queryRange(p.getX(), p.getY(), 1, 1);
7464-
}
7465-
afterQuery = System.currentTimeMillis();
7466-
7467-
queryTime = afterQuery - beforeQuery;
7468-
System.out.println("queryTime="+queryTime);
7469+
beforeQuery = System.currentTimeMillis();
7470+
for (QuadTree.XYPoint p : query) {
7471+
tree.queryRange(p.getX(), p.getY(), 1, 1);
74697472
}
7473+
afterQuery = System.currentTimeMillis();
7474+
7475+
queryTime = afterQuery - beforeQuery;
7476+
System.out.println("queryTime="+queryTime);
7477+
avgQueryTime += queryTime;
74707478
}
7479+
System.out.println("avgQueryTime="+avgQueryTime/listSize);
74717480

74727481
// Result set should not contain duplicates
74737482
beforeTreeQuery = System.currentTimeMillis();

0 commit comments

Comments
 (0)