建议使用算法来回溯步骤历史记录?

时间:2015-12-05 02:30:44

标签: java algorithm data-structures

  1. 任何人都可以建议一个良好的数据结构来存储单个昆虫在Java模拟中采取的步骤历史记录吗?
  2. 我正在编写一种搜索网格中项目的算法。昆虫从A点移动,直到找到它寻找的东西(B点)。昆虫现在需要通过回溯它的步骤从B点回到A点。

    1. 有人可以建议一种方法来实现这个目标吗?
    2. 我有大约6个月的Java /编程经验,而且我正在从事课堂项目,所以我很感激我能得到的任何建议或指导。

2 个答案:

答案 0 :(得分:1)

您可以使用简单的ArrayList

如果xy是任何实例的坐标......

从A点到B点:

#loop till insect reaches point B{
    String coords = x + "," + y;
    someArrayList.add(coords);
    #insect move;
}

返回A点:

for(int i =0; i < someArrayList.size(); i++)
    String x = someArrayList.get(i);
    String[] y = x.split(","); // To separate x and y coordinates from string
    #insect move to coordinate (y[0], y[1]);

希望这有助于提示(因为我不知道你用什么方法来移动昆虫和其他细节)。

答案 1 :(得分:1)

您需要的数据结构称为stack,它实现了LIFO(后进先出)原则。 java中有一个Stack类。

其他一些信息:Stack的方法是同步的,这会增加一些性能开销,而在软件开发中,LinkedList通常会被选中。无论如何,考虑到这是一个课程作业 - 选择你喜欢的任何实现。