From 06156c62b10f66ed50c5d66983ba7284a160d31f Mon Sep 17 00:00:00 2001 From: iMoHax Date: Mon, 9 Nov 2015 16:44:11 +0300 Subject: [PATCH] fix fast search --- .../main/java/ru/trader/analysis/graph/Crawler.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/ru/trader/analysis/graph/Crawler.java b/core/src/main/java/ru/trader/analysis/graph/Crawler.java index 03b9956..1e14b2c 100644 --- a/core/src/main/java/ru/trader/analysis/graph/Crawler.java +++ b/core/src/main/java/ru/trader/analysis/graph/Crawler.java @@ -122,7 +122,7 @@ public class Crawler { if (maxDeep < 0) maxDeep = 0; found = bfs(start(s), maxDeep, count); } else { - found = dfs(start(s), t.get().getLevel() + 1, count); + found = dfs(start(s), t.get().getLevel() + 1); } } callback.endSearch(); @@ -172,6 +172,15 @@ public class Crawler { 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) { int found = 0; Vertex source = entry.vertex;