本文實例講述了Python數(shù)據(jù)結(jié)構(gòu)之圖的應(yīng)用。分享給大家供大家參考,具體如下:
一、圖的結(jié)構(gòu)
	
二、代碼
# -*- coding:utf-8 -*-#! python3def searchGraph(graph,start,end):  results =[]  generatePath(graph,[start],end,results)  results.sort(key =lambda x:len(x))  return resultsdef 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','E')  print("******************")  print(' path A to E')  print("******************")  for i in r:    print(i)三、運行結(jié)果
******************
path A to E
******************
['A', 'B', 'E']
['A', 'D', 'E']
['A', 'C', 'D', 'E']
['A', 'D', 'B', 'E']
['A', 'D', 'G', 'E']
['A', 'C', 'D', 'B', 'E']
['A', 'C', 'D', 'G', 'E']
['A', 'C', 'F', 'D', 'E']
['A', 'C', 'F', 'G', 'E']
['A', 'C', 'F', 'D', 'B', 'E']
['A', 'C', 'F', 'D', 'G', 'E']
運行效果圖如下:
	
希望本文所述對大家Python程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選