Archived
0

fix fast search

This commit is contained in:
iMoHax
2015-11-09 16:44:11 +03:00
parent 108ca28475
commit 06156c62b1

View File

@@ -122,7 +122,7 @@ public class Crawler<T> {
if (maxDeep < 0) maxDeep = 0; if (maxDeep < 0) maxDeep = 0;
found = bfs(start(s), maxDeep, count); found = bfs(start(s), maxDeep, count);
} else { } else {
found = dfs(start(s), t.get().getLevel() + 1, count); found = dfs(start(s), t.get().getLevel() + 1);
} }
} }
callback.endSearch(); callback.endSearch();
@@ -172,6 +172,15 @@ public class Crawler<T> {
return new CostTraversalEntry(entry, edge); return new CostTraversalEntry(entry, edge);
} }
private int dfs(CostTraversalEntry entry, int deep){
int found = 0;
while (deep > graph.getMinLevel() && found == 0){
LOG.debug("Search on deep {}", deep);
found = dfs(entry, deep--, 1);
}
return found;
}
private int dfs(CostTraversalEntry entry, int deep, int count) { private int dfs(CostTraversalEntry entry, int deep, int count) {
int found = 0; int found = 0;
Vertex<T> source = entry.vertex; Vertex<T> source = entry.vertex;