搜索

深度优先遍历 8皇后

  1. def DFS(v):
  2. visited[v] = true
  3. dosomething(v)
  4. for u in adjcent_list[v]:
  5. if visited[u] is false:
  6. DFS(u)

广度优先遍历 图的最短路

  1. def IDA_Star(STATE startState):
  2. maxDepth = 0
  3. while true:
  4. if( DFS(startState, 0, maxDepth) ):
  5. return
  6. maxDepth = maxDepth + 1

迭代加深
深度优先 每次增加深度 直到找到结果 复杂度和深度优先基本相同
深度优先有可能再循环路径 就没有尽头了