Python数据结构之图的应用示例


Posted in Python onMay 11, 2018

本文实例讲述了Python数据结构之图的应用。分享给大家供大家参考,具体如下:

一、图的结构

Python数据结构之图的应用示例

二、代码

# -*- coding:utf-8 -*-
#! python3
def searchGraph(graph,start,end):
  results =[]
  generatePath(graph,[start],end,results)
  results.sort(key =lambda x:len(x))
  return results
def generatePath(graph,path,end,results):
  state = path[-1]
  if state == end:
    results.append(path)
  else:
    for arc in graph[state]:
      if arc not in path:
        generatePath(graph,path +[arc],end ,results)
if __name__ =='__main__':
  Graph={'A':['B','C','D'],
  'B':['E'],
  'C':['D','F'],
  'D':['B','E','G'],
  'E':[],
  'F':['D','G'],
  'G':['E']}
  r = searchGraph(Graph,'A','E')
  print("******************")
  print(' path A to E')
  print("******************")
  for i in r:
    print(i)

三、运行结果

******************
  path A to E
******************
['A', 'B', 'E']
['A', 'D', 'E']
['A', 'C', 'D', 'E']
['A', 'D', 'B', 'E']
['A', 'D', 'G', 'E']
['A', 'C', 'D', 'B', 'E']
['A', 'C', 'D', 'G', 'E']
['A', 'C', 'F', 'D', 'E']
['A', 'C', 'F', 'G', 'E']
['A', 'C', 'F', 'D', 'B', 'E']
['A', 'C', 'F', 'D', 'G', 'E']

运行效果图如下:

Python数据结构之图的应用示例

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

Python 相关文章推荐
python在windows命令行下输出彩色文字的方法
Mar 19 Python
pandas 两列时间相减换算为秒的方法
Apr 20 Python
python版飞机大战代码分享
Nov 20 Python
Python实现八皇后问题示例代码
Dec 09 Python
python for 循环获取index索引的方法
Feb 01 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
python调用并链接MATLAB脚本详解
Jul 05 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 Python
Python Selenium截图功能实现代码
Apr 26 Python
python interpolate插值实例
Jul 06 Python
python获取linux系统信息的三种方法
Oct 14 Python
python 重定向获取真实url的方法
May 11 #Python
基于python 爬虫爬到含空格的url的处理方法
May 11 #Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 #Python
解决Python网页爬虫之中文乱码问题
May 11 #Python
解决python爬虫中有中文的url问题
May 11 #Python
利用Python yagmail三行代码实现发送邮件
May 11 #Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 #Python
You might like
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
javascript 表单验证常见正则
2009/09/28 Javascript
文本框的字数限制功能jquery插件
2009/11/24 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
js实现移动端轮播图
2020/12/21 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
python文件操作整理汇总
2014/10/21 Python
python搜索指定目录的方法
2015/04/29 Python
在Django的session中使用User对象的方法
2015/07/23 Python
Python中操作符重载用法分析
2016/04/29 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
Pandas中resample方法详解
2019/07/02 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
python输出数学符号实例
2020/05/11 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
办公室文员工作职责
2014/01/31 职场文书
《月迹》教学反思
2014/02/19 职场文书
计划生育工作汇报
2014/10/28 职场文书
2014年小学工作总结
2014/11/26 职场文书
廉政承诺书范文
2015/04/28 职场文书
PHP中->和=>的意思
2021/03/31 PHP
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL