私は、私が初めてのPythonを使ってBFSアルゴリズムを実装する必要があるプロジェクトに取り組んでいます。PythonのBFSアルゴリズム
アルゴリズムは、9個のパズル(3×3)の実行を終了し、それはそう(5分)を行うために、時間の非常に大きな金額をとります。
def bfs(self):
fringe = deque([])
# start it
fringe.append(self.stateObj.getState())
while len(fringe) > 0:
state = fringe.popleft()
self.visited.append(state)
# just for tracing
# self.helper.drawBoard(state)
if self.stateObj.isCurrentStateGoalTest(state):
return True
for next_state in self.stateObj.getNextStates(state):
if (next_state not in (self.visited + list(fringe))):
fringe.append(next_state)
誰もが私はこれを改善することができるもの指摘することができますより良いパフォーマンスを達成するには? 実用的な答えがよく受け入れられています。