Easiest to code algorithm for Rubik's cube?

前端 未结 7 2367
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-31 03:59

What would be a relatively easy algorithm to code in Java for solving a Rubik\'s cube. Efficiency is also important but a secondary consideration.

7条回答
  •  你的背包
    2021-01-31 04:48

    You can do it by doing BFS(Breadth-First-Search). I think the implementation is not that hard( It is one of the simplest algorithm under the category of the graph). By doing it with the data structure called queue, what you will really work on is to build a BFS tree and to find a so called shortest path from the given condition to the desire condition. The drawback of this algorithm is that it is not efficient enough( Without any modification, even to solver a 2x2x2 cubic the amount time needed is ~5 minutes). But you can always find some tricks to boost the speed.

    To be honest, it is one of the homework of the course called "Introduction of Algorithm" from MIT. Here is the homework's link: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/MIT6_006F11_ps6.pdf. They have a few libraries to help you to visualize it and to help you avoid unnecessary effort.

提交回复
热议问题