Python 数据结构与算法分析 七、图算法之广度优先搜索
程序员文章站
2022-05-23 11:08:21
...
词梯图的构建
from pythonds.graphs import Graph
def buildGraph(wordFile):
d = {}
g = Graph()
wfile = open(wordFile, 'r')
# 创建词桶
for line in wfile:
word = line[:-1]
for i in range(len(word)):
bucket = word[:i] + '_' + word[i+1:]
if bucket in d:
d[bucket].append(word)
else:
d[bucket] = [word]
# 为同一个通风中的单词添加顶点和边
for bucket in d.keys():
for word1 in d[bucket]:
for word2 in d[bucket]:
if word1 != word2:
g.addEdge(word1, word2)
return g
广度优先搜索的实现
推荐阅读
-
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
-
数据结构与算法-----BFS与DFS(广度优先搜索与深度优先搜索)
-
数据结构与算法_深度优先搜索(DFS)与广度优先搜索(BFS)详解
-
Java数据结构与算法:图、图的概念、深度优先搜索DFS、广度优先搜索BFS、思路分析、代码实现
-
Java数据结构与算法——深度优先搜索与广度优先搜索
-
数据结构与算法——广度和深度优先搜索
-
数据结构与算法————图的遍历DFS深度优先搜索和BFS广度优先搜索
-
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
-
Python数据结构与算法之图的基本实现及迭代器实例详解
-
C语言数据结构与算法之深度、广度优先搜索