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中删除文件的程序代码
Mar 13 Python
Python处理CSV与List的转换方法
Apr 19 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
解决Pycharm运行时找不到文件的问题
Oct 29 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
打包PyQt5应用时的注意事项
Feb 14 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
Python常见反爬虫机制解决方案
Jun 01 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Oct 16 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
php中关于普通表单多文件上传的处理方法
2011/03/25 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
php通过各种函数判断0和空
2020/07/04 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
对pandas中apply函数的用法详解
2018/04/10 Python
Python变量类型知识点总结
2019/02/18 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
教师年度考核自我鉴定
2014/01/19 职场文书
护士毕业实习感言
2014/03/05 职场文书
合伙经营协议书范本
2014/09/13 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL