手机
当前位置:查字典教程网 >脚本专栏 >python >python数据结构之图的实现方法
python数据结构之图的实现方法
摘要:本文实例讲述了python数据结构之图的实现方法。分享给大家供大家参考。具体如下:下面简要的介绍下:比如有这么一张图:A->BA->CB->...

本文实例讲述了python数据结构之图的实现方法。分享给大家供大家参考。具体如下:

下面简要的介绍下:

比如有这么一张图:

A -> B

A -> C

B -> C

B -> D

C -> D

D -> C

E -> F

F -> C

可以用字典和列表来构建

graph = {'A': ['B', 'C'], 'B': ['C', 'D'], 'C': ['D'], 'D': ['C'], 'E': ['F'], 'F': ['C']}

找到一条路径:

def find_path(graph, start, end, path=[]): path = path + [start] if start == end: return path if not graph.has_key(start): return None for node in graph[start]: if node not in path: newpath = find_path(graph, node, end, path) if newpath: return newpath return None

找到所有路径:

def find_all_paths(graph, start, end, path=[]): path = path + [start] if start == end: return [path] if not graph.has_key(start): return [] paths = [] for node in graph[start]: if node not in path: newpaths = find_all_paths(graph, node, end, path) for newpath in newpaths: paths.append(newpath) return paths

找到最短路径:

def find_shortest_path(graph, start, end, path=[]): path = path + [start] if start == end: return path if not graph.has_key(start): return None shortest = None for node in graph[start]: if node not in path: newpath = find_shortest_path(graph, node, end, path) if newpath: if not shortest or len(newpath) < len(shortest): shortest = newpath return shortest

希望本文所述对大家的Python程序设计有所帮助。

【python数据结构之图的实现方法】相关文章:

python操作日期和时间的方法

python赋值操作方法分享

python连接sql server乱码的解决方法

python中stdout输出不缓存的设置方法

Python获取当前时间的方法

Python修改Excel数据的实例代码

python基础教程之实现石头剪刀布游戏示例

python 提取文件的小程序

python实现dnspod自动更新dns解析的方法

Python基本数据类型详细介绍

精品推荐
分类导航