日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3使用BFS实现湖北省到全国省级行政区

發布時間:2023/12/10 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3使用BFS实现湖北省到全国省级行政区 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3實現湖北省到全國省級行政區

Python3使用BFS實現湖北省到全國省級行政區

說明:

全國34個省級行政區到湖北省的中間間隔不超過兩個省,即使是臺灣省和海南省,中間也絕對不會超過兩個省,臺灣-福建-江西-湖北,而海南-廣東-湖南-湖北。

地圖:

行政區的毗鄰行政區結構:

# 各個行政區的毗鄰行政區距離結構graph = {'臺灣': ['福建'],'海南': ['廣東'],"內蒙古": ["黑龍江", "吉林", "遼寧", "河北", "山西", "陜西", "寧夏", "甘肅"],"黑龍江": ["內蒙古", "吉林"],"吉林": ["黑龍江", "內蒙古", "遼寧"],"遼寧": ["吉林", "內蒙古", "河北"],"河北": ["遼寧", "內蒙古", "山西", "北京", "天津", "山東", "河南"],'河南': ['河北', '湖北', '陜西', '山西', '安徽', '山東'],"山東": ["河北", "河南", '安徽', '江蘇'],"北京": ["河北", "天津"],"天津": ["河北", "北京"],"山西": ["河北", "內蒙古", "陜西", "河南"],"陜西": ["寧夏", "內蒙古", "甘肅", "河南", "山西", "四川", "重慶", "湖北"],"寧夏": ["陜西", "內蒙古", "甘肅"],"甘肅": ["寧夏", "內蒙古", "陜西", "青海", "新疆", "四川"],"青海": ["甘肅", "西藏", "新疆", "四川"],"新疆": ["西藏", "甘肅", "青海"],"西藏": ["新疆", "青海", "四川", "云南"],"四川": ["青海", "西藏", "甘肅", "陜西", "云南", "貴州", "重慶"],'云南': ['西藏', '四川', '貴州', '廣西'],'重慶': ['陜西', '四川', '貴州', '湖南', '湖北'],'貴州': ['重慶', '四川', '云南', '廣西', '湖南'],'廣西': ['云南', '貴州', '湖南', '廣東'],'廣東': ['福建', '江西', '湖南', '廣西', '香港', '澳門','海南'],'湖南': ['湖北', '重慶', '貴州', '廣西', '廣東', '江西'],'江西': ['安徽', '湖北', '湖南', '廣東', '福建', '浙江'],'福建': ['浙江', '江西', '廣東','臺灣'],'湖北': ['河南', '陜西', '重慶', '湖南', '江西', '安徽'],'河南': ['河北', '山西', '陜西', '湖北', '安徽', '江蘇', '山東'],'安徽': ['河南', '湖北', '江西', '浙江', '江蘇', '山東'],'浙江': ['上海', '江蘇', '安徽', '江西', '福建'],'上海': ['江蘇', '浙江'],'江蘇': ['山東', '安徽', '浙江', '上海'],'山東': ['河北', '河南', '江蘇'],'香港': ['廣東'],'澳門': ['廣東'], }

BFS廣度優先遍歷:

# BFS廣度優先遍歷 def BFS(graph, s):queue = []queue.append(s)seen = set()seen.add(s)parent = {s: None}while (len(queue) > 0):vertex = queue.pop(0)nodes = graph[vertex]for w in nodes:if w not in seen:queue.append(w)seen.add(w)parent[w] = vertex# print(vertex)return parent

main函數

if __name__ == '__main__':bfs_province = BFS(graph, '湖北')for key in bfs_province:v = keyroute="出發->"while v != None:route+=v+"->"v = bfs_province[v]route += "到啦!"print(route)

運行結果

Github地址

Github地址

總結

以上是生活随笔為你收集整理的Python3使用BFS实现湖北省到全国省级行政区的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。