国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

基于python模擬bfs和dfs代碼實(shí)例

瀏覽:2日期:2022-07-04 18:55:09

BFS

'''# @Time : 2020/11/8# @Author : Jimou Chen'''# 廣搜def bfs(graph, start): queue = [start] # 先把起點(diǎn)入隊(duì)列 visited = set() # 訪問(wèn)國(guó)的點(diǎn)加入 visited.add(start) while len(queue): vertex = queue.pop(0) # 找到隊(duì)列首元素的連接點(diǎn) for v in graph[vertex]: if v not in visited:queue.append(v)visited.add(v) # 打印彈出隊(duì)列的該頭元素 print(vertex, end=’ ’)if __name__ == ’__main__’: graph = { ’A’: [’B’, ’D’, ’I’], ’B’: [’A’, ’F’], ’C’: [’D’, ’E’, ’I’], ’D’: [’A’, ’C’, ’F’], ’E’: [’C’, ’H’], ’F’: [’B’, ’H’], ’G’: [’C’, ’H’], ’H’: [’E’, ’F’, ’G’], ’I’: [’A’, ’C’] } bfs(graph, ’A’)

A B D I F C H E G Process finished with exit code 0

DFS

'''# @Time : 2020/11/8# @Author : Jimou Chen'''# 深搜def dfs(graph, start): stack = [start] visited = set() visited.add(start) while len(stack): vertex = stack.pop() # 找到棧頂元素 for v in graph[vertex]: if v not in visited:stack.append(v)visited.add(v) print(vertex, end=’ ’)if __name__ == ’__main__’: graph = { ’A’: [’B’, ’D’, ’I’], ’B’: [’A’, ’F’], ’C’: [’D’, ’E’, ’I’], ’D’: [’A’, ’C’, ’F’], ’E’: [’C’, ’H’], ’F’: [’B’, ’H’], ’G’: [’C’, ’H’], ’H’: [’E’, ’F’, ’G’], ’I’: [’A’, ’C’] } dfs(graph, ’E’)

E H G F B A I D C Process finished with exit code 0

總結(jié)

很明顯一個(gè)用了隊(duì)列,一個(gè)用了棧

利用python語(yǔ)言?xún)?yōu)勢(shì),只需改動(dòng)pop即可

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 理塘县| 岳池县| 婺源县| 仪陇县| 宁德市| 林周县| 陆川县| 贺州市| 城步| 利辛县| 洪湖市| 监利县| 开原市| 阳高县| 北票市| 凤山县| 周至县| 兴城市| 廉江市| 彭阳县| 云霄县| 阳朔县| 格尔木市| 从化市| 泽库县| 获嘉县| 虞城县| 都昌县| 兰考县| 山东省| 铅山县| 新巴尔虎左旗| 昌黎县| 图们市| 合川市| 西盟| 武汉市| 湘西| 育儿| 平和县| 肇东市|