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之入门(四)运算
May 27 Python
对Python新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
python绘制双柱形图代码实例
Dec 14 Python
django框架自定义用户表操作示例
Aug 07 Python
Python中修改字符串的四种方法
Nov 02 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
Python基于wordcloud及jieba实现中国地图词云图
Jun 09 Python
用python实现学生管理系统
Jul 24 Python
使用python实现学生信息管理系统
Feb 25 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
phpmyadmin操作流程
2006/10/09 PHP
建立动态的WML站点(二)
2006/10/09 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
python 多线程应用介绍
2012/12/19 Python
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
kafka-python批量发送数据的实例
2018/12/27 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
python IP地址转整数
2020/11/20 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
大四毕业生学习总结的自我评价
2013/10/31 职场文书
商务日语专业自荐信
2014/04/17 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
大学学生会辞职信
2015/05/13 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
centos8安装MongoDB的详细过程
2021/10/24 MongoDB