保存执行状态的java树搜索
我有一棵树
A
/ \
B C
/\ \
D E F
以列表的形式表示
(A (B (D) (E)) (C (F)))
它实际上是一棵非常大的树,所以我想做的是,如果我在100毫秒保存状态下找不到我要找的东西,就开始搜索,返回,做一些家务,然后再次调用搜索,继续我停止的地方。基本上,我正在使用的模拟给了我一定的时间,不足以完成搜索。我正在寻找如何实现这一点的想法/技巧?(爪哇Clojure)
你可以在下面搜索框中键入要查询的问题!
我有一棵树
A
/ \
B C
/\ \
D E F
以列表的形式表示
(A (B (D) (E)) (C (F)))
它实际上是一棵非常大的树,所以我想做的是,如果我在100毫秒保存状态下找不到我要找的东西,就开始搜索,返回,做一些家务,然后再次调用搜索,继续我停止的地方。基本上,我正在使用的模拟给了我一定的时间,不足以完成搜索。我正在寻找如何实现这一点的想法/技巧?(爪哇Clojure)
# 1 楼答案
如果你不介意一个线程的开销,那么把搜索放在一个线程上,这个线程只需要做一点工作,然后不时地产生收益
线程的优点是不必以编程方式保存状态;系统会帮你的
你必须为此付出代价,因为搜索结果将以异步方式出现,你必须安排以某种方式获得它。此外,您可能需要设置100毫秒计时器。很多代码。:)