亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python實現的多叉樹尋找最短路徑算法示例

2020-02-15 22:18:15
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現的多叉樹尋找最短路徑算法。分享給大家供大家參考,具體如下:

多叉樹的最短路徑:

思想:

    傳入start 和 end 兩個 目標值
    1 找到從根節點到目標節點的路徑
    2 從所在路徑,尋找最近的公共祖先節點,
    3 對最近公共祖先根節點 拼接路徑

Python代碼:

# -*- coding:utf-8 -*-import copy#節點數據結構class Node(object):  # 初始化一個節點  def __init__(self,value = None):    self.value = value # 節點值    self.child_list = []  # 子節點列表  # 添加一個孩子節點  def add_child(self,node):    self.child_list.append(node)# 初始化一顆測試二叉樹def init():  '''  初始化一顆測試二叉樹:      A    B  C  D   EFG    HIJ  '''  root = Node('A')  B = Node('B')  root.add_child(B)  root.add_child(Node('C'))  D = Node('D')  root.add_child(D)  B.add_child(Node('E'))  B.add_child(Node('F'))  B.add_child(Node('G'))  D.add_child(Node('H'))  D.add_child(Node('I'))  D.add_child(Node('J'))  return root# 深度優先查找 返回從根節點到目標節點的路徑def deep_first_search(cur,val,path=[]):  path.append(cur.value) # 當前節點值添加路徑列表  if cur.value == val:  # 如果找到目標 返回路徑列表    return path  if cur.child_list == []:  # 如果沒有孩子列表 就 返回 no 回溯標記    return 'no'  for node in cur.child_list: # 對孩子列表里的每個孩子 進行遞歸    t_path = copy.deepcopy(path)  # 深拷貝當前路徑列表    res = deep_first_search(node,val,t_path)    if res == 'no': # 如果返回no,說明找到頭 沒找到 利用臨時路徑繼續找下一個孩子節點      continue    else :      return res # 如果返回的不是no 說明 找到了路徑  return 'no' # 如果所有孩子都沒找到 則 回溯# 獲取最短路徑 傳入兩個節點值,返回結果def get_shortest_path( start,end ):  # 分別獲取 從根節點 到start 和end 的路徑列表,如果沒有目標節點 就返回no  path1 = deep_first_search(root, start, [])  path2 = deep_first_search(root, end, [])  if path1 == 'no' or path2 == 'no':    return '無窮大','無節點'  # 對兩個路徑 從尾巴開始向頭 找到最近的公共根節點,合并根節點  len1,len2 = len(path1),len(path2)  for i in range(len1-1,-1,-1):    if path1[i] in path2:      index = path2.index(path1[i])      path2 = path2[index:]      path1 = path1[-1:i:-1]      break  res = path1+path2  length = len(res)  path = '->'.join(res)  return '%s:%s'%(length,path)# 主函數、程序入口if __name__ == '__main__':  root = init()  res = get_shortest_path('F','I')  print(res)

運行結果:

5:F->B->A->D->I

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久九九有精品国产23| 欧美日韩国内自拍| 亚洲精品久久视频| 欧美猛交ⅹxxx乱大交视频| 一本色道久久88综合亚洲精品ⅰ| 国产香蕉97碰碰久久人人| 精品国偷自产在线| 在线视频欧美日韩| 成人性生交大片免费看小说| 中文字幕亚洲一区二区三区五十路| 91久久精品久久国产性色也91| 欧美精品www| 国内精品一区二区三区| 久久久噜噜噜久久中文字免| 欧美高清一级大片| 日韩欧美成人免费视频| 亚洲自拍小视频免费观看| 51ⅴ精品国产91久久久久久| 欧美人交a欧美精品| y97精品国产97久久久久久| 国产精品日韩欧美大师| www.久久草.com| 久久精品电影一区二区| 国产欧美中文字幕| 亚洲精品影视在线观看| 成人高清视频观看www| 欧美俄罗斯性视频| 国产视频精品va久久久久久| 国产精品久久久久av| 欧美日韩成人免费| 欧美在线一级视频| 国产精品一区专区欧美日韩| 久久久精品电影| 欧美午夜精品伦理| 国产999精品视频| 九九精品视频在线观看| 日韩成人中文电影| 国产大片精品免费永久看nba| 日韩美女在线观看| 国产成人免费av电影| 久久色免费在线视频| 欧美午夜激情在线| 久久精品2019中文字幕| 精品综合久久久久久97| 欧美激情aaaa| 最近2019中文免费高清视频观看www99| 668精品在线视频| 精品香蕉在线观看视频一| 97国产suv精品一区二区62| 亚洲精品97久久| 青草成人免费视频| 久久久久女教师免费一区| 午夜精品久久久久久久99热浪潮| 国产精品av电影| 国产精品久久久久久久久久久不卡| 91性高湖久久久久久久久_久久99| 欧美成人免费在线视频| 欧美亚洲国产日韩2020| 日韩性生活视频| 国产精品最新在线观看| 性日韩欧美在线视频| 国产一区二区香蕉| 中文字幕自拍vr一区二区三区| 欧美日韩第一页| 亚洲2020天天堂在线观看| 中文字幕日韩有码| 91精品国产自产91精品| 中文字幕免费精品一区| 日韩欧美在线观看视频| 欧洲s码亚洲m码精品一区| 久久久噜噜噜久久| 欧美极品第一页| 亚洲精品中文字| xvideos成人免费中文版| 清纯唯美亚洲综合| 一区二区三区四区视频| 久久综合伊人77777| 韩国三级日本三级少妇99| 欧美美女操人视频| 亚洲白虎美女被爆操| 日韩中文字幕免费| 91高清在线免费观看| 成人免费视频xnxx.com| 国内精品模特av私拍在线观看| 亚洲精品久久久久久久久久久| 日本精品性网站在线观看| 久久久999国产精品| 久久五月天色综合| 亚洲欧洲一区二区三区在线观看| yellow中文字幕久久| 欧美最猛性xxxxx亚洲精品| 自拍偷拍亚洲在线| 2020久久国产精品| 韩国日本不卡在线| 91精品成人久久| 高跟丝袜欧美一区| 日韩av电影院| 有码中文亚洲精品| 欧美成人性色生活仑片| 97香蕉久久夜色精品国产| 欧美日韩国产丝袜美女| 国产精品视频成人| 亚洲国产小视频在线观看| 亚洲欧美国产精品va在线观看| 日韩av三级在线观看| 亚洲人成电影网站色| 性欧美办公室18xxxxhd| 91po在线观看91精品国产性色| 45www国产精品网站| 日本国产一区二区三区| 97超级碰碰碰| 在线成人激情视频| 欧美国产亚洲精品久久久8v| 日本三级韩国三级久久| 精品国模在线视频| 亚洲欧美一区二区三区在线| 久久天堂电影网| 欧美精品一区二区三区国产精品| 日韩亚洲成人av在线| 日韩中文字幕在线精品| 国产亚洲精品久久久久久777| 一区二区在线视频| 国产日韩精品综合网站| 国产精品偷伦视频免费观看国产| 日韩电影在线观看免费| 日本a级片电影一区二区| 欧美成人精品激情在线观看| 一个人看的www欧美| 国产精自产拍久久久久久蜜| 一级做a爰片久久毛片美女图片| 亚洲国产成人精品女人久久久| 中文字幕综合一区| 97欧美精品一区二区三区| 国产日韩在线视频| 97精品国产97久久久久久免费| 亚洲黄色在线观看| 亚洲色图在线观看| 色狠狠久久aa北条麻妃| 欧美激情亚洲综合一区| 91在线无精精品一区二区| 亚洲伊人久久大香线蕉av| 亚洲最大的av网站| 亚洲自拍偷拍一区| 国产精品极品在线| 欧美国产亚洲精品久久久8v| 欧美激情国内偷拍| 97视频在线观看免费高清完整版在线观看| 在线播放国产一区中文字幕剧情欧美| 亚洲第一男人天堂| 成人免费淫片aa视频免费| 久久久女人电视剧免费播放下载| 久久久这里只有精品视频| 久久久91精品国产一区不卡| 欧美极品少妇xxxxx| 国产精品都在这里| 成人国产精品日本在线| 青青久久av北条麻妃海外网| 国产成人精品免高潮在线观看| 最近2019年中文视频免费在线观看| 久久亚洲精品视频| 久久久久久12| 久久久精品2019中文字幕神马| 国产精品99久久99久久久二8| 亚洲国产精品久久精品怡红院|