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装饰器用法
Jul 28 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
详解python编译器和解释器的区别
Jun 24 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
python标准库os库的函数介绍
Feb 12 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
keras自动编码器实现系列之卷积自动编码器操作
Jul 03 Python
python实现银行账户系统
Feb 22 Python
python numpy中multiply与*及matul 的区别说明
May 26 Python
Python下opencv库的安装过程及问题汇总
Jun 11 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
Javascript调用C#代码
2011/01/17 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
Vue异步加载about组件
2017/10/31 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
材料物理专业个人求职信
2013/12/15 职场文书
党支部书记先进事迹
2014/01/17 职场文书
《值日生》教学反思
2014/02/17 职场文书
战友聚会主持词
2014/04/02 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
环保建议书范文
2015/09/14 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs