深さ優先探索
自分用メモ。正直怪しいので参考にしない方がいいです
modelはsqlalchemyのモデルを書いている。nowとnextもったlistで代用できるかと
#!/usr/bin/env python import model def dsearch(): session = model.startSession() q = session.query(model.Markov) now = u"A" seekStack =[] while 1: print now f = q.filter(model.Markov.now==now) for fq in f: seekStack.append(fq.next) if len(seekStack) == 0: break now = seekStack.pop() dsearch()
実行結果
A
F
G
B
E
D
C