图
图的基本概念
是由顶点和边组成的。如果图中的顶点是有序的,那么图就是有方向的,称之为有向图,否则图是无方向的,称之为无向图。
def searchGraph(graph,start,end):
results = []
generatePath(graph,[start],end,results) #生成路径
results.sort(key=lambda x:len(x)) #按路径长短排序
return results
def generatePath(graph,path,end,results):
state = path[-1]
if state == end:
results.append(path)
else:
for arc in graph[state]
if arc not in path:
generatePath(graph,path + [arc],end,results)
if __name__ == '__main__':
Graph = { 'A':['B','C','D'],
'B':['E'],
'C':['D','F'],
'D':['B','E','G'],
'E':[],
'F':['D','G'],
'G':['E']}
r = searchGraph(Graph,'A','D')
print(' path A to D')
for i in r:
print(i)