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

首頁 > 開發 > Python > 正文

python圖的深度優先和廣度優先算法實例分析

2024-09-09 19:02:18
字體:
來源:轉載
供稿:網友

本文實例講述了python圖的深度優先和廣度優先算法。分享給大家供大家參考,具體如下:

首先有一個概念:回溯

回溯法(探索與回溯法)是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇并不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,而滿足回溯條件的某個狀態的點稱為“回溯點”。

深度優先算法:

(1)訪問初始頂點v并標記頂點v已訪問。
(2)查找頂點v的第一個鄰接頂點w。
(3)若頂點v的鄰接頂點w存在,則繼續執行;否則回溯到v,再找v的另外一個未訪問過的鄰接點。
(4)若頂點w尚未被訪問,則訪問頂點w并標記頂點w為已訪問。
(5)繼續查找頂點w的下一個鄰接頂點wi,如果v取值wi轉到步驟(3)。直到連通圖中所有頂點全部訪問過為止。

廣度優先算法:

(1)頂點v入隊列。
(2)當隊列非空時則繼續執行,否則算法結束。
(3)出隊列取得隊頭頂點v;訪問頂點v并標記頂點v已被訪問。
(4)查找頂點v的第一個鄰接頂點col。
(5)若v的鄰接頂點col未被訪問過的,則col入隊列。
(6)繼續查找頂點v的另一個新的鄰接頂點col,轉到步驟(5)。直到頂點v的所有未被訪問過的鄰接點處理完。轉到步驟(2)。

代碼:

#!/usr/bin/python# -*- coding: utf-8 -*-class Graph(object):  def __init__(self,*args,**kwargs):    self.node_neighbors = {}    self.visited = {}  def add_nodes(self,nodelist):    for node in nodelist:      self.add_node(node)  def add_node(self,node):    if not node in self.nodes():      self.node_neighbors[node] = []  def add_edge(self,edge):    u,v = edge    if(v not in self.node_neighbors[u]) and ( u not in self.node_neighbors[v]):      self.node_neighbors[u].append(v)      if(u!=v):        self.node_neighbors[v].append(u)  def nodes(self):    return self.node_neighbors.keys()  def depth_first_search(self,root=None):    order = []    def dfs(node):      self.visited[node] = True      order.append(node)      for n in self.node_neighbors[node]:        if not n in self.visited:          dfs(n)    if root:      dfs(root)    for node in self.nodes():      if not node in self.visited:        dfs(node)    print order    return order  def breadth_first_search(self,root=None):    queue = []    order = []    def bfs():      while len(queue)> 0:        node = queue.pop(0)        self.visited[node] = True        for n in self.node_neighbors[node]:          if (not n in self.visited) and (not n in queue):            queue.append(n)            order.append(n)    if root:      queue.append(root)      order.append(root)      bfs()    for node in self.nodes():      if not node in self.visited:        queue.append(node)        order.append(node)        bfs()    print order    return orderif __name__ == '__main__':  g = Graph()g.add_nodes([i+1 for i in range(8)])g.add_edge((1, 2))g.add_edge((1, 3))g.add_edge((2, 4))g.add_edge((2, 5))g.add_edge((4, 8))g.add_edge((5, 8))g.add_edge((3, 6))g.add_edge((3, 7))g.add_edge((6, 7))print "nodes:", g.nodes()order = g.breadth_first_search(1)order = g.depth_first_search(1)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美亚洲范冰冰与中字| 久久亚洲精品国产亚洲老地址| 久久精品视频中文字幕| 欧美黑人性猛交| 中文字幕欧美国内| 久久久999精品| 欧美国产日韩一区二区在线观看| 日韩欧美一区二区三区| 欧美视频中文在线看| 青草青草久热精品视频在线观看| 久久久伊人日本| 久久69精品久久久久久国产越南| 国产精品精品国产| 亚洲精品www| 亚洲最大的av网站| 欧美一区二区三区精品电影| 欧美激情国内偷拍| 69**夜色精品国产69乱| 91av在线播放视频| 久久手机免费视频| 亚洲香蕉av在线一区二区三区| 久久久av网站| 狠狠躁夜夜躁久久躁别揉| 日韩激情av在线播放| 人九九综合九九宗合| 正在播放亚洲1区| 美女精品视频一区| 2019中文字幕全在线观看| 久久久国产精品视频| 欧美三级免费观看| 不卡av电影在线观看| 免费av在线一区| 亚洲自拍中文字幕| 日韩免费视频在线观看| 欧美国产亚洲视频| 7777免费精品视频| 激情av一区二区| 亚洲男人av电影| 亚洲综合中文字幕在线观看| 亚洲无av在线中文字幕| 自拍偷拍亚洲区| 在线亚洲午夜片av大片| 九九视频这里只有精品| 日韩在线视频免费观看高清中文| 欧美性xxxxx| 91中文在线观看| 国产成人精品亚洲精品| 精品亚洲一区二区三区在线观看| 91在线免费网站| 日韩中文字幕在线免费观看| 97国产在线观看| 亚洲最大的免费| 国产视频欧美视频| 欧美精品aaa| 午夜剧场成人观在线视频免费观看| 欧美日韩亚洲高清| 狠狠躁夜夜躁人人躁婷婷91| 欧美精品18videos性欧美| 色综合视频一区中文字幕| 久久99精品久久久久久琪琪| 日韩精品福利在线| 浅井舞香一区二区| 亚洲成人亚洲激情| 久久久久久综合网天天| 亚洲精品久久久久久久久久久久| 97香蕉超级碰碰久久免费的优势| 欧美wwwxxxx| 成人在线视频网站| 欧美有码在线观看| 精品国产一区二区三区久久狼5月| 成人免费视频97| 日韩亚洲精品电影| 国产精品v片在线观看不卡| 亚洲精品小视频| 日本午夜精品理论片a级appf发布| 成人a视频在线观看| 成人黄色网免费| 欧美特黄级在线| 日韩av片免费在线观看| 欧美激情va永久在线播放| 精品国产依人香蕉在线精品| 狠狠躁夜夜躁久久躁别揉| 95av在线视频| 亚洲人成绝费网站色www| 国产精品99久久久久久久久| 国产精品r级在线| 在线成人免费网站| 国产成人精品最新| 91免费福利视频| 欧美做受高潮1| 国产美女久久精品| 日韩国产一区三区| 91精品视频在线免费观看| 国产精品国产三级国产专播精品人| 九九久久久久99精品| 欧美成年人视频网站欧美| 国产一区二区日韩精品欧美精品| 庆余年2免费日韩剧观看大牛| 热久久免费国产视频| 2019亚洲日韩新视频| 久久精品91久久香蕉加勒比| 狠狠躁18三区二区一区| 热久久免费视频精品| 国模精品视频一区二区三区| 欧美在线视频免费播放| 国产欧美日韩中文字幕| 日韩中文有码在线视频| 国产成人福利夜色影视| 国产精品精品一区二区三区午夜版| 91成人免费观看网站| 最新日韩中文字幕| 久久国产视频网站| 在线国产精品视频| 欧美性xxxxx极品娇小| 亚洲欧洲午夜一线一品| 精品精品国产国产自在线| 国产精品视频免费在线| 亚洲成人久久网| 成人黄色av网站| 亚洲另类xxxx| 日韩精品久久久久久福利| 国内精品久久久久影院 日本资源| 国产色综合天天综合网| 69久久夜色精品国产7777| 国产成人精品一区二区在线| 欧美性猛xxx| 69久久夜色精品国产7777| 啪一啪鲁一鲁2019在线视频| 色综合91久久精品中文字幕| 亚洲男人天堂2019| 亚洲天堂免费观看| 国产精品国产三级国产aⅴ9色| 超碰日本道色综合久久综合| 久久人人爽人人爽人人片av高请| 91tv亚洲精品香蕉国产一区7ujn| 国产va免费精品高清在线观看| 国产日本欧美一区二区三区| 在线国产精品视频| 亚洲精品720p| 欧美亚洲伦理www| 国产成人精品久久二区二区| 最近中文字幕日韩精品| 亚洲国产精品资源| 日韩中文字幕视频在线观看| 亚洲第一综合天堂另类专| 97不卡在线视频| 日韩中文av在线| 国产69久久精品成人| 国产精品白丝jk喷水视频一区| 亚洲高清久久久久久| 国产亚洲人成a一在线v站| 日韩免费黄色av| 欧美国产日韩一区二区三区| 国产日韩精品在线播放| 国产精品video| 日韩在线免费视频| 精品国产依人香蕉在线精品| 国产精品爽爽爽| 91在线免费看网站| 88xx成人精品| 亚洲第一综合天堂另类专| 国产精品稀缺呦系列在线| 亚洲精品98久久久久久中文字幕| 麻豆精品精华液|