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发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
使用pandas把某一列的字符值转换为数字的实例
Jan 29 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
python opencv pytesseract 验证码识别的实现
Aug 28 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 Python
Python爬虫破解登陆哔哩哔哩的方法
Nov 17 Python
利用Python实现翻译HTML中的文本字符串
Jun 21 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
php提高网站效率的技巧
2015/09/29 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
jquery使用经验小结
2015/05/20 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
python中__slots__用法实例
2015/06/04 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
python修改文件内容的3种方法详解
2019/11/15 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
消防安全管理制度
2014/02/01 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB