summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java
index 74c2534c..0025ee75 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/SharedNearestNeighborSimilarityFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -26,6 +26,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction;
import java.util.Iterator;
import de.lmu.ifi.dbs.elki.database.ids.DBID;
+import de.lmu.ifi.dbs.elki.database.ids.DBIDs;
import de.lmu.ifi.dbs.elki.database.ids.SetDBIDs;
import de.lmu.ifi.dbs.elki.database.relation.Relation;
import de.lmu.ifi.dbs.elki.distance.distancevalue.IntegerDistance;
@@ -60,7 +61,14 @@ public class SharedNearestNeighborSimilarityFunction<O> extends AbstractIndexBas
return IntegerDistance.FACTORY;
}
- static protected int countSharedNeighbors(SetDBIDs neighbors1, SetDBIDs neighbors2) {
+ /**
+ * Compute the intersection size
+ *
+ * @param neighbors1 SORTED neighbors of first
+ * @param neighbors2 SORTED neighbors of second
+ * @return Intersection size
+ */
+ static protected int countSharedNeighbors(DBIDs neighbors1, DBIDs neighbors2) {
int intersection = 0;
Iterator<DBID> iter1 = neighbors1.iterator();
Iterator<DBID> iter2 = neighbors2.iterator();
@@ -112,8 +120,8 @@ public class SharedNearestNeighborSimilarityFunction<O> extends AbstractIndexBas
@Override
public IntegerDistance similarity(DBID id1, DBID id2) {
- SetDBIDs neighbors1 = index.getNearestNeighborSet(id1);
- SetDBIDs neighbors2 = index.getNearestNeighborSet(id2);
+ DBIDs neighbors1 = index.getNearestNeighborSet(id1);
+ DBIDs neighbors2 = index.getNearestNeighborSet(id2);
return new IntegerDistance(countSharedNeighbors(neighbors1, neighbors2));
}