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实现识别手写数字大纲
Jan 29 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
基于MTCNN/TensorFlow实现人脸检测
May 24 Python
python中的turtle库函数简单使用教程
Jul 23 Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 Python
一起来学习Python的元组和列表
Mar 13 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
编译问题
2006/10/09 PHP
php抓取https的内容的代码
2010/04/06 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
python正则表达式中的括号匹配问题
2014/12/14 Python
Python构造函数及解构函数介绍
2015/02/26 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
高中毕业自我鉴定范文
2013/10/02 职场文书
会务接待方案
2014/02/27 职场文书
实习生工作证明范本
2014/09/14 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
2014年法务工作总结
2014/12/11 职场文书
2015年试用期工作总结
2014/12/12 职场文书
大学生操行评语大全
2014/12/31 职场文书
公司新员工欢迎词
2015/09/30 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫