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 相关文章推荐
centos下更新Python版本的步骤
Feb 12 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python最基本的数据类型以及对元组的介绍
Apr 14 Python
python线程中同步锁详解
Apr 27 Python
深入浅析python 中的匿名函数
May 21 Python
python中的json总结
Oct 11 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
Python-接口开发入门解析
Aug 01 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
Python3 集合set入门基础
Feb 10 Python
Python基于smtplib协议实现发送邮件
Jun 03 Python
python3让print输出不换行的方法
Aug 24 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
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
jQuery创建插件的代码分析
2011/04/14 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
js去字符串前后空格的实现方法
2016/02/26 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
深入解读Node.js中的koa源码
2019/06/17 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
跟老齐学Python之类的细节
2014/10/13 Python
python字典的常用操作方法小结
2016/05/16 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
Python 编程速成(推荐)
2019/04/15 Python
python基于递归解决背包问题详解
2019/07/03 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
python 消费 kafka 数据教程
2019/12/21 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
.NET面试10题
2014/02/24 面试题
出纳员岗位责任制
2014/02/11 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
计划生育诚信协议书
2014/11/02 职场文书
郭明义电影观后感
2015/06/08 职场文书