【发布时间】:2015-08-24 18:41:52
【问题描述】:
我正在创建一个二叉树迷宫。这棵树有 8 片叶子,目标是遍历树并在一片或多片叶子上找到“食物”。在每个节点,参与者可以选择左节点或右节点进入下一个节点。或者,它可以遍历两者,但要付出一定的代价(可能是 1 个时间步,而选择 on 或其他的可能是 2 个时间步)。如果它到达一片没有食物的叶子,它必须回溯并重新做出决定。这最终将变成一种进化算法,其中策略被存储并经过多代进化。存储经过的路径的最有效方法是什么(如果找不到食物,参与者可以回溯)?
【问题讨论】:
-
定义高效。您是指 CPU 周期(如果是,您计划进行哪些操作)还是内存?
-
对不起,我的意思是代码行数高效。真的我只需要某种方式来记住遍历
-
您可以在每个节点上留下面包屑,也可以保留访问过的节点列表。仍然不确定您对效率的定义,但是这些方法中的任何一种都可以完成工作。最大的区别在于面包屑,一次只能有一条路径。如果需要,您可以使用列表跟踪多个路径。
标签: java binary-tree binary-search-tree evolutionary-algorithm