Python數(shù)據(jù)結(jié)構(gòu)之圖的應(yīng)用示例
本文實例講述了Python數(shù)據(jù)結(jié)構(gòu)之圖的應(yīng)用。分享給大家供大家參考,具體如下:
一、圖的結(jié)構(gòu)
二、代碼
# -*- coding:utf-8 -*- #! python3 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','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']
運行效果圖如下:
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
- Python常見數(shù)據(jù)結(jié)構(gòu)之棧與隊列用法示例
- Python數(shù)據(jù)結(jié)構(gòu)之棧、隊列及二叉樹定義與用法淺析
- Python中的函數(shù)式編程:不可變的數(shù)據(jù)結(jié)構(gòu)
- python數(shù)據(jù)結(jié)構(gòu)之線性表的順序存儲結(jié)構(gòu)
- python數(shù)據(jù)結(jié)構(gòu)學習之實現(xiàn)線性表的順序
- Python數(shù)據(jù)結(jié)構(gòu)之哈夫曼樹定義與使用方法示例
- 詳解python的四種內(nèi)置數(shù)據(jù)結(jié)構(gòu)
相關(guān)文章
python中urllib.unquote亂碼的原因與解決方法
這篇文章主要給大家介紹了python中urllib.unquote亂碼的原因與解決方法,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友可以參考學習,下面跟著小編一起來學習學習吧。2017-04-04使用python Fabric動態(tài)修改遠程機器hosts的方法
今天小編就為大家分享一篇使用python Fabric動態(tài)修改遠程機器hosts的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python生成指定數(shù)量的優(yōu)惠碼實操內(nèi)容
在本篇文章里小編給大家整理了關(guān)于Python生成指定數(shù)量的優(yōu)惠碼的實例內(nèi)容以及相關(guān)代碼,有需要的朋友們學習下。2019-06-06python基于socketserver實現(xiàn)并發(fā),驗證客戶端的合法性
TCP協(xié)議的socket一次只能和一個客戶端通信, 而socketsever可以時間和多個客戶端通信。本文將講解socketserver的具體使用2021-05-05python實現(xiàn)學生信息管理系統(tǒng)源碼
這篇文章主要為大家詳細介紹了python實現(xiàn)學生信息管理系統(tǒng)源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-02-02python?matplotlib自定義colorbar顏色條及內(nèi)置色條詳解
由于自己畫圖的需要想要用一些自定義的顏色來做一個colorbar,所以下面這篇文章主要給大家介紹了關(guān)于python?matplotlib自定義colorbar顏色條及內(nèi)置色條的相關(guān)資料,需要的朋友可以參考下2022-08-08