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统计字符串中指定字符出现次数的方法
Apr 04 Python
python中list常用操作实例详解
Jun 03 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
Python中的self用法详解
Aug 06 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
python 协程中的迭代器,生成器原理及应用实例详解
Oct 28 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 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中的字符串函数
2006/10/09 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
Python selenium文件上传方法汇总
2020/11/19 Python
python3调用R的示例代码
2018/02/23 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
python序列化与数据持久化实例详解
2019/12/20 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
python如何爬取网页中的文字
2020/07/28 Python
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
应届中专生自荐书范文
2014/02/13 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
通知函的格式
2015/04/27 职场文书
外出学习心得体会范文
2016/01/18 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB